Java 告诉Jetty重新加载webapp更改,而不是context.xml更改
我让jetty运行一些context.xml:Java 告诉Jetty重新加载webapp更改,而不是context.xml更改,java,xml,web-applications,jetty,Java,Xml,Web Applications,Jetty,我让jetty运行一些context.xml: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> <Configure class="org.eclipse.jetty.webapp.WebAppCont
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="war">path/to/webapp</Set>
<Set name="contextPath">/</Set>
</Configure>
路径/to/webapp
/
(路径不是默认路径。)
每次更改都会重建webapp,但我仍然需要伪造对context.xml的一些写访问权限,以使jetty重新加载webapp
有没有办法告诉jetty在更改后重新加载Web应用程序?Jasper
我找到了一种方法来实现这一点(多亏了)。如果在调试模式下运行Jetty并将Eclipse调试器连接到它,VM将立即热交换类更改
使用运行Jetty(我使用的是jetty8w/jdk6):
然后在Eclipse中创建一个标准的远程调试配置,如下所示:
然后点击“调试”。即使您不打算调试任何东西,将调试器连接到远程Jetty VM也会导致实时部署类更改
您唯一应该注意的是VM热交换类的能力的局限性。类的“形状”无法更改,因此任何定义的新类成员或新方法都需要重新加载web上下文(只需“触摸”上下文的XML文件,Jetty就会重新加载它)
希望这能有所帮助。发现了这个问题,因为我想知道完全相同的事情。Jasper你知道怎么做了吗?我还对一个解决方案很感兴趣(它不涉及Eclipse或任何其他重量级的第三方应用程序)。到目前为止,我还没有找到一个解决方案。
java -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n -jar start.jar