2010-12-16 47 views
2

我已经开始使用Wicket。当我对HTML模板进行更改时,该模板立即可见。Wicket中的代码更改重装

但是当我修改代码时,我需要重新启动Jetty。我在DEVELOPMENT模式下运行(至少这就是大胖在日志中警告说),我已经安装了ReloadingWicketFilter按照这样的问题:Wicket - runtime class reloading

我的猜测是,这种行为是因为我做的所有更改当我重新加载时,我的页面和Wicket的构造函数不会创建新页面。

我浏览过的检票例子,但没有例子展示了如何构建一个Wicket页面没有添加在构造函数中的所有组件或如何告诉检票口为每个请求创建一个新的页面或如何分辨Wicket创建一个新的页面。

回答

3

我使用命令mvn码头:运行,此配置在pom.xml:

<plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>maven-jetty-plugin</artifactId> 
      <version>${jetty.version}</version> 
      <configuration> 
       <!-- to be used in combination with netbeans compile on save feature --> 
       <scanTargets> 
        <scanTarget>target/classes/</scanTarget> 
       </scanTargets> 
       <scanIntervalSeconds>1</scanIntervalSeconds> 
      </configuration> 
</plugin> 

我的IDE版本(NetBeans)被配置为在编译时保存...然后我可以切换到浏览器并点击重新加载...并且应用了更改+码头被重新加载

或者使用商业应用jrebel

+0

看起来很有前途,它应该在Eclipse中以相同的方式工作 – 2010-12-20 14:11:33

+0

是的,我认为是这样,它应该适用于所有('轻量级的)java webframeworks。 JRebel的 – Karussell 2010-12-20 17:55:39

0

在的IntelliJ,经过调试运行中启动应用程序。当您对Java进行更改并进行编译时,IntelliJ会通过HotSpot重新加载该类。这些更改在您的应用程序中可用。

你当然仅限于热点“唯一能够(例如)创建新类和更改方法体的限制。