因此,我正在尝试使用netbeans进行热部署以使用我的maven项目。我有两个战争包。一个我称之为“网络”,另一个我称之为“自定义网络”。我在“web”上覆盖(使用maven overlay插件)“custom-web”。我有几个“自定义网络”项目,每个客户一个。所以maven叠加层非常适合我的需求。
问题是我真的非常希望在两个项目上都能获得类和静态文件(.js,.css)的热部署。但是热部署仅适用于“自定义网络”项目,如果我修改“web”上的类或静态文件,则更改不会反映在服务器上,除非我手动重建“web”并重新部署整个申请可能需要3到5分钟,严重阻碍了我的发展。
我在Netbeans中使用“部署保存”选项,并在调试模式下使用“应用代码更改”。两者都不适用于“web”文件/类。
我正在寻找解决方案。我的自定义Web项目主要有静态文件,但它也可以有类。它不一定需要使用叠加,但我无法找出任何其他方法来正确添加两个项目而不使用叠加。
答案 0 :(得分:1)
不确定这是否是一个选项,但在这种情况下使用Jetty非常有用。使用jetty:run
目标,您可以将Jetty指向要查看的源目录(跨项目),Jetty将始终从那里提供文件。
在您的情况下,您可以将Jetty的scanTargets
指向您的源目录,Jetty将从那里提供文件。
有关配置选项和示例,请参阅http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html#jetty-run-goal。
答案 1 :(得分:0)
Maven个人资料(http://maven.apache.org/guides/introduction/introduction-to-profiles.html)可能是一个解决方案。您可以使用具有开发配置和“部署保存”内容的“web”项目创建一个“dev”。
在netbeans中,您可以使用配置文件映射配置:http://wiki.netbeans.org/MavenBestPractices#Configurations
最后使用自定义项目和CI服务器的覆盖选项。