Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带Maven和GWT的DCEVM_Java_Maven_Gwt_Hotswap_Dcevm - Fatal编程技术网

Java 带Maven和GWT的DCEVM

Java 带Maven和GWT的DCEVM,java,maven,gwt,hotswap,dcevm,Java,Maven,Gwt,Hotswap,Dcevm,我试图在GWT/Maven项目中设置DCEVM JDK 1.8 51和热交换代理,以便能够在不重新启动GWT超级Devmode的情况下重新加载更改。首先,我的项目设置如下: 计划 -核心 -资料 -i18n 其中core是我运行mvn gwt:run的主要模块。这取决于i18n和数据模块,因此我希望这些模块也能重新加载。因此,在我的hotswap-agent.properties中,我将: extraClasspath=<pathto>/i18n/target/classes,<

我试图在GWT/Maven项目中设置DCEVM JDK 1.8 51和热交换代理,以便能够在不重新启动GWT超级Devmode的情况下重新加载更改。首先,我的项目设置如下:

计划 -核心 -资料 -i18n

其中core是我运行mvn gwt:run的主要模块。这取决于i18n和数据模块,因此我希望这些模块也能重新加载。因此,在我的hotswap-agent.properties中,我将:

extraClasspath=<pathto>/i18n/target/classes,<pathto>/data/build/target/classes
然后启动devmode,我就可以运行我的应用程序了

现在,当我在数据上进行mvn clean安装时,例如,HotSwap代理似乎可以检测到更改,但我得到的是:

HOTSWAP AGENT: 11:2:38.541 WARNING (org.hotswap.agent.watch.nio.WatcherNIO2) - WatchKey 'sun.nio.fs.WindowsWatchService$WindowsWatchKey@7d9da813' overflowed
然后,一个巨大的列表看起来像是我得到了模块中每个类的跟踪:

HOTSWAP AGENT: 11:2:43.945 ERROR (org.hotswap.agent.annotation.handler.WatchEventCommand) - Unable create CtClass for URI 'file:///<pathto>/data/build/target/classes/<packageto>/DashboardWidget$DashboardWidgetMetaData.class'.
java.lang.IllegalArgumentException: java.io.FileNotFoundException: <pathto>\data\build\target\classes\<packageto>\DashboardWidget$DashboardWidgetMetaData.class (The system cannot find the file specified)
        at org.hotswap.agent.util.IOUtils.toByteArray(IOUtils.java:50)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.createCtClass(WatchEventCommand.java:191)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.onWatchEvent(WatchEventCommand.java:120)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.executeCommand(WatchEventCommand.java:51)
        at org.hotswap.agent.command.impl.CommandExecutor.run(CommandExecutor.java:25)
Caused by: java.io.FileNotFoundException: <pathto>\data\build\target\classes\<packageto>\DashboardWidget$DashboardWidgetMetaData.class (The system cannot find the file specified)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at java.io.FileInputStream.<init>(FileInputStream.java:93)
        at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
        at java.net.URL.openStream(URL.java:1038)
        at org.hotswap.agent.util.IOUtils.toByteArray(IOUtils.java:44)
        ... 4 more

HOTSWAP AGENT: 11:2:43.945 ERROR (org.hotswap.agent.annotation.handler.WatchEventCommand) - Unable create CtClass for URI 'file:///<pathto>/data/build/target/classes/<packageto>/ItemImage.class'.
java.lang.IllegalArgumentException: java.io.FileNotFoundException: <pathto>\data\build\target\classes\<packageto>\ItemImage.class (The system cannot find the file specified)
        at org.hotswap.agent.util.IOUtils.toByteArray(IOUtils.java:50)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.createCtClass(WatchEventCommand.java:191)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.onWatchEvent(WatchEventCommand.java:120)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.executeCommand(WatchEventCommand.java:51)
        at org.hotswap.agent.command.impl.CommandExecutor.run(CommandExecutor.java:25)
Caused by: java.io.FileNotFoundException: <pathto>\data\build\target\classes\<packageto>\ItemImage.class (The system cannot find the file specified)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at java.io.FileInputStream.<init>(FileInputStream.java:93)
        at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
        at java.net.URL.openStream(URL.java:1038)
        at org.hotswap.agent.util.IOUtils.toByteArray(IOUtils.java:44)
        ... 4 more
当hotswap代理注意到我的核心模块也发生了变化时,所有这些都会发生


在所有这些之后,程序会正常恢复,但即使我刷新浏览器,更改也不会生效。在参考hotswap代理查找溢出消息或filenotfound异常时,我没有得到任何搜索结果。所以,我真的不知道发生了什么。任何帮助都会很好

第一件事:为什么您认为在更改代码时必须重新启动超级开发模式?重新启动SDM的唯一原因是,当您更改GWT生成器或链接器的代码时,或者您需要以某种方式更改类路径。好的,当前可能存在这样的情况:您有一个引用类的注释,例如@ProxyFor-,并且该注释由GWT生成器读取,当前必须在类路径中提供引用的类。我知道,当需要应用服务器端更改时,必须这样做。这不适用于客户端代码。这就是web应用在大多数情况下的工作方式,GWT就是其中之一;就像你在大多数情况下会重新部署webapps一样。不。重新启动超级devmode代码服务器正是重新加载服务器端更改的方式。由于devmode启动了我的应用程序所在的Jetty服务器,因此它也会重新启动。否。在使用Eclipse集成时,单击DevMode的Jetty选项卡中的Restart Server按钮或单击DevMode视图中的双旋转箭头按钮是在嵌入式Jetty服务器中重新部署webapp的方式。当你这样做的时候,比如在真正的Jetty服务器中重新部署一个webapp,或者Tomcat、Glassfish等,它会适当地调用你的ServletContextListener的contextDestroyed和ContextInitialized。
HOTSWAP AGENT: 11:2:38.541 WARNING (org.hotswap.agent.watch.nio.WatcherNIO2) - WatchKey 'sun.nio.fs.WindowsWatchService$WindowsWatchKey@7d9da813' overflowed
HOTSWAP AGENT: 11:2:43.945 ERROR (org.hotswap.agent.annotation.handler.WatchEventCommand) - Unable create CtClass for URI 'file:///<pathto>/data/build/target/classes/<packageto>/DashboardWidget$DashboardWidgetMetaData.class'.
java.lang.IllegalArgumentException: java.io.FileNotFoundException: <pathto>\data\build\target\classes\<packageto>\DashboardWidget$DashboardWidgetMetaData.class (The system cannot find the file specified)
        at org.hotswap.agent.util.IOUtils.toByteArray(IOUtils.java:50)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.createCtClass(WatchEventCommand.java:191)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.onWatchEvent(WatchEventCommand.java:120)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.executeCommand(WatchEventCommand.java:51)
        at org.hotswap.agent.command.impl.CommandExecutor.run(CommandExecutor.java:25)
Caused by: java.io.FileNotFoundException: <pathto>\data\build\target\classes\<packageto>\DashboardWidget$DashboardWidgetMetaData.class (The system cannot find the file specified)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at java.io.FileInputStream.<init>(FileInputStream.java:93)
        at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
        at java.net.URL.openStream(URL.java:1038)
        at org.hotswap.agent.util.IOUtils.toByteArray(IOUtils.java:44)
        ... 4 more

HOTSWAP AGENT: 11:2:43.945 ERROR (org.hotswap.agent.annotation.handler.WatchEventCommand) - Unable create CtClass for URI 'file:///<pathto>/data/build/target/classes/<packageto>/ItemImage.class'.
java.lang.IllegalArgumentException: java.io.FileNotFoundException: <pathto>\data\build\target\classes\<packageto>\ItemImage.class (The system cannot find the file specified)
        at org.hotswap.agent.util.IOUtils.toByteArray(IOUtils.java:50)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.createCtClass(WatchEventCommand.java:191)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.onWatchEvent(WatchEventCommand.java:120)
        at org.hotswap.agent.annotation.handler.WatchEventCommand.executeCommand(WatchEventCommand.java:51)
        at org.hotswap.agent.command.impl.CommandExecutor.run(CommandExecutor.java:25)
Caused by: java.io.FileNotFoundException: <pathto>\data\build\target\classes\<packageto>\ItemImage.class (The system cannot find the file specified)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at java.io.FileInputStream.<init>(FileInputStream.java:93)
        at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
        at java.net.URL.openStream(URL.java:1038)
        at org.hotswap.agent.util.IOUtils.toByteArray(IOUtils.java:44)
        ... 4 more