Quando si utilizza l'API com.sun.tools.attach sulla mia macchina Windows, ottengo il seguente errore quando si effettua una chiamata aJava API Allega: java.library.path cambia dinamicamente
VirtualMachine.list()
java. lang.UnsatisfiedLinkError: nessun collegamento in java.library.path
Il motivo è il file attach.dll mancante. Il file attach.dll si trova in $JRE/bin/
. Quando si avvia il mio programma Java con -Djava.library.path=[Directory to the attach.dll]
, tutto funziona senza output di errore.
Ora, non voglio aggiungere tutti i programmi Java per avviare questo brutto parametro JVM. Quindi le mie domande sono:
è la mia macchina non configurato a destra e il
$JRE/bin/
dovrebbero essere nel percorso della libreria in ogni caso?In caso contrario, come è possibile aggiungere il percorso in modo dinamico?
System.setProperties("java.library.path",StringOfThePathToTheAttach.dll);
non funziona. Il percorso della libreria è stato modificato, ma l'errore si verifica comunque. Ha qualcosa a che fare con SecurityManager o JVM?
Dopo aver modificato il percorso della libreria, si sta utilizzando un nuovo programma di caricamento classi? –
@ joseph-ottinger: no, immagino che dovrei? –