|
6
|
| Techmaddy · 技术社区 · 17 年前 |
|
|
1
7
一件事是编译类,但您还需要JavaVM来重新加载类并使用它们,这称为热交换。要获得最佳可用的类热交换,您需要 javarebel . 它可以让你热加载更多 types of code-changes 而不是普通的太阳。如果您在分解模式下运行部署,您就可以在家自由活动,并且可以在一秒钟左右的时间内测试任何代码更改。我们是相当受测试驱动的,所以当我组装整个应用程序时,我只在很短的阶段使用javarebel,但它工作得非常好。 |
|
2
2
Java HotSpot VM会自动执行此操作,但并非所有情况下都是如此。。。 首先,您必须运行“调试”会话,而不是“运行”会话。 接下来,一些更改将强制重新启动。其基本思想是,如果类的接口发生更改(方法sigs,而不是实际的Java接口),VM就不能内联替换类内容。
这种情况发生在以下几种情况下:
如果在类中引入错误,也可能发生这种情况。(适用于不匹配的大括号等错误) 保存Java文件时,eclipse将对其进行编译。如果有错误,eclipse将插入异常抛出,以指示存在未解决的编译错误。(这样,当您运行时,您不仅可以看到最后一次成功编译,而且可以清楚地看到您有编译器错误) |
|
|
3
1
我不知道Eclipse,但我确实使用Netbeans。Netbeans做得很好。最新版本甚至有一个选项,可以在保存java文件时自动重新编译。 我知道这并不能完全回答你的问题。您可能可以同时使用Netbeans和Eclipse,这取决于您正在处理的项目的哪个部分。 编辑: 使用Tomcat,您可以重新加载web应用程序。这只有在Tomcat查看新类时才真正有用。如果您的项目首先编译到一个构建目录,然后从中创建一个WAR,那么您可以进入Tomcat并安装web应用程序,而不是指向构建目录中的WAR点。 在Tomcat中,您可能必须将站点配置文件放在Tomcat/conf/Catalina/localhost下。此文件的内容如下所示:
此处重新加载的说明: http://www.cs.ucl.ac.uk/teaching/java/tomcatfaq.html#changeservlet 如果您这样做几次,Tomcat将耗尽内存。这是因为所谓的永久空间。如果你想知道更多的话,请仔细阅读。解决方案是增加JVM内存、PermGenSize(使用-XX:MaxPermSize)并最终偶尔重新启动Tomcat。 如果重新加载应用程序导致您注销,您可以通过将“implements Serializable”添加到某些类中,轻松地让容器将会话数据序列化到磁盘。然后,在重新加载应用程序后,您不需要登录。 |
|
4
1
我同意在开发时一直重新部署是非常乏味的。 我建议您研究一下MyEclipse,它有一个非常好的hotdeploy机制,可以很好地与Tomcat配合使用,而且价格合理,有30天的试用期。 Eclipse中用于重新部署到服务器的股票javaee机制速度最快。 |
|
|
5
0
|
|
|
6
0
如果您阅读本页,则很容易完成: 看见 http://blog.redfin.com/devblog/2009/09/how_to_set_up_hot_code_replacement_with_tomcat_and_eclipse.html 谢谢Dan Fabulich |
|
|
John Doe · 取消eclipse插件作业 8 年前 |
|
|
John Doe · 标签左对齐,按钮右对齐的组合 8 年前 |
|
|
Anitha · 如何将xtext 2.12作为插件安装? 8 年前 |
|
|
Nandhi · 在eclipse插件中使用ANTLR v4运行时 8 年前 |
|
|
positron · 正在配置中设置自定义属性。ini公司 8 年前 |
|
|
Ruchira Supipi · eclipse标记的外观取决于编辑器 8 年前 |