【问题标题】:How to achive deploy on save of multi-module Maven project in NetBeans?如何在NetBeans中实现多模块Maven项目的保存部署?
【发布时间】:2014-12-13 19:37:53
【问题描述】:

我在 NetBeans 中有一个多模块 Maven 项目,文件系统中的结构如下。

.
| MyProject/
├── web-module/
|   ├── src/
|   └── pom.xml
├── core-module/
|   ├── src/
|   └── pom.xml
└── pom.xml

我在所有模块上设置了 Compile on Save 并在 web-module 中设置了 Deploy on Save 现在当我在 web-module 中更改某些内容时,它会自动编译和部署,但它不适用于 core-module 中的更改。 我还创建了一个新的项目组(文件/项目组.../项目和所有必需的项目)并将父项目设置在那里,但它不起作用。

我的问题是:

  1. 是否有可能在 NetBeans 中实现我想要的,如果可以,如何实现?
  2. 在 NB 中保存时部署似乎会重新启动 Tomcat,这不是一个有效的解决方案(Spring 上下文加载时间)——是否可以使用“jvm 热交换”之类的东西,即当我进行一些更改时(我的意思是在方法,不改变类结构),我想在不重新启动 Tomcat 的情况下立即看到。

我使用 NetBeans 8、NB 中嵌入的 Maven 和 Tomcat 6

PS。我知道我想要实现的不是火箭科学,我能够以这种方式配置 Eclipse,并且一切正常(无需安装任何额外的插件)。

PPS。是的,我听说过 JRebel,但它不是免费的。

【问题讨论】:

    标签: java maven tomcat netbeans


    【解决方案1】:

    检查您的 Java 调试器设置,应该启用“保存后应用代码更改”。

    这将允许您在不重新启动的情况下更新类,但仅限于方法体更改。

    请注意,有一些bugs 报告了 NetBeans 中的此功能,我不知道此问题是否已解决。

    编辑:通过项目属性 -> 运行选项卡禁用“保存时部署”。

    【讨论】:

    • 谢谢,它有效。对于可能有相同问题的其他人的注意事项,必须取消选中 Web 模块中的保存时部署(部署到 Tomcat 的那个)属性才能使用此解决方案。
    • 要明确一点,这需要使用调试器会话才能工作,资源文件更改不允许更改超过方法主体。
    猜你喜欢
    • 2012-03-19
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    • 2014-03-09
    • 2021-09-04
    • 2012-03-11
    • 2017-11-07
    相关资源
    最近更新 更多