我正在将代理注入Java应用程序中以获取事件。 当我通过这样的Jar进行此操作时:
java -agentpath:..\JavaAgent" -Djia.port=4444:4460 -jar app.jar
一切正常。
但是当我通过网络启动时,就像这样:
SET JAVAWS_VM_ARGS=-agentpath:..\JavaAgent -Djia.port=4444:4460
javaws app.jnlp
(运行相同的jar)
它不起作用。
当我查看日志时,我发现问题与触发的事件有关。
在我注入的代码中,我有一个AWTEventListener
,我是这样注册的:
Toolkit.getDefaultToolkit().addAWTEventListener(this,AWTEvent.WINDOW_EVENT_MASK);
当我运行jar时,它起作用了,我注册的所有事件都是 窗口打开,窗口关闭。 但是当我通过网络启动运行它时,相同的代码并且不会触发相同的事件。
有什么想法吗?
谢谢