2017-08-16 5 views
0

Je dois ajouter un argument -javaagent dans mes arguments JVM lors de l'exécution de jar1, mais référence à jar2 contenue dans jar1. J'ai essayé:Pot de référence dans le pot principal pour passer en tant que javaagent à JVM

-javaagent:BOOT-INF/lib/jetty-alpn-agent-2.0.0.jar" 

sans succès. Comment puis-je déterminer l'emplacement des fichiers JAR dans un système en cours d'exécution?

(Ceci est d'exécuter jetty-alpn-agent-2.0.0.jar comme agent Java pour HTTP/2 avec Pushy APNs)

Répondre

0

Si vous savez que la classe est sur le chemin de la classe, vous pouvez généralement faire:

URL jar = MainClass.class.getProtectionDomain().getCodeSource().getLocation(); 

Le Javaagent est toujours chargé sur le chemin de la classe, c'est pourquoi vous devriez pouvoir référencer la classe principale de l'application régulière.