2010-11-29 8 views
0

Ich möchte einige Dateien entweder JAR-Datei oder DLLs in jre ext-Ordner und bin-Ordner platzieren, kann ich es in diesen Ordnern über meinen Java-Code. oder gibt es eine Beschränkung, die Dateien durch das Schreiben eines Codes zu platzieren.Platzieren von Dateien in jre bin durch Java-Code

+0

sein Warum wollen Sie das tun wollen? Sie sollten das Java-Installationsverzeichnis niemals ändern müssen. –

+0

@Joachim: Es gibt Fälle, in denen es etwas Sinn macht (zB globale Aktualisierung Ihrer JRE, um eine spätere Version einer JSR'ed API zu verwenden), aber es ist aus irgendeinem anderen Grund ziemlich schrecklich und sollte nicht von a gemacht werden normale Anwendung in jedem Fall. http://download.oracle.com/javase/6/docs/technotes/guides/standards/index.html –

+0

@Donal: die ** einzigen ** Fälle, wo dies angebracht wäre, wäre in den Installern. Und selbst dann wäre es die vernünftigere Option, eine private Kopie des JDK bereitzustellen (die Änderung des globalen, öffentlichen ** wird ** zu Problemen führen). –

Antwort

1

können Sie einfache Datei verwenden IO, das zu tun (oder zB verwenden Apache Commons IO, die eine fertige Funktion „Kopieren“ hat)

Aber das Problem ist, dass ein Anwenderprogramm ist in der Regel nicht in die schreiben erlaubt Verzeichnis "Programme".

So würden Sie Administratorrechte benötigen, um Ihr Programm auszuführen, das ist keine gute Idee ist (es sei denn, wir über eine Installationsroutine sprechen)

+0

ok, wenn ich mit einfachen Datei IO verwenden kann, bedeutet es, dass ich auf die jre bin und ext-Verzeichnis zugreifen muss, dann wie würde ich tun, um auf das jre-Verzeichnis zuzugreifen, oder Ihr Punkt ist klar, dass Benutzerprogramm nicht zulässig ist die Dateien darin. –

0

Wenn Ihre Anwendung mit der richtigen Rechten ausgeführt wird, dann kann es Platz auf jeden Fall jede Dateien im Verzeichnis jre/bin. obwohl

Ein paar Punkte:

  • Wenn Sie auf die Datei angewiesen sind, die in dem Verzeichnis zu sein, vermeiden Sie es.
  • jre/Verzeichnis wird in der Regel $JAVA_HOME

Prost