Build man. -> maven
ide -> idea
app server -> weblogic 12.1.2
我的项目由一个ear文件组成,其中有两个war文件(位于lib下,未分解)和几个jar文件。
我部署了ear文件,当我在任何java文件中进行更改时,热交换工作正常(任何常规更改)。 然而,当我在任何 xhtml(主要由 jsf 组成)中进行更改时,为了看到这些更改,我必须进行另一个构建和部署。
我需要在开发阶段可以遵循的任何策略。欢迎大家提出意见。
最佳答案
以下步骤对我非常有帮助:
确保最终版本包含分解版本。使用 make 进行构建管理(idea 默认)可以非常轻松地实现这一点,或者如果想坚持使用 Maven 进行构建管理,则需要一个插件来创建分解的最终产品,例如: http://maven.apache.org/plugins/maven-war-plugin/exploded-mojo.html
通常编辑的资源文件或 View (在我的例子中是 xhtml)被标记为源文件。这可以通过“将目录标记为”选项来实现,每次更新项目时,标记为源根目录中的文件都可以进行热交换。
但是我必须承认,这些对我来说还远远不够。每次更改类的签名时,我仍然需要重新部署,这种情况很常见,而且非常浪费时间。
为了解决剩下的类重新加载的痛苦,我和我的团队使用了 JRebel,我目前对此非常满意。请记住,该产品相对昂贵,我也听说过开源类重新加载器替代品,但坦白说还没有尝试过:
关于Java,ear 文件的部署策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23493263/