yby*_*yby 24 maven-2 jetty maven-plugin maven-jetty-plugin
我是Maven的新手.我有一个多模块maven 2项目,具有以下结构(稍微简化):
Project (POM packaging)
|
+-- Module1 (JAR)
| |
| +-- src
| |
| +-- main
| |
| +-- java
| +-- resources
|
+-- Module2 (JAR)
| |
| ...
|
+-- Web Module (WAR)
|
...
Run Code Online (Sandbox Code Playgroud)
我已将Web模块配置为包含Maven Jetty插件.这非常适合构建生产工件.为了开发,我发现我需要调用mvn install我更改的任何模块,然后停止jetty并调用jetty:再次运行.
如果有一种方法可以让插件直接从每个模块的目标目录中选择更改,那么效率会更高.根据jetty插件文档,似乎有这样的功能,但它似乎只适用于WAR模块.
对我来说更重要的是能够更改资源文件,而无需重新启动jetty.这是因为大多数资源都是HTML模板文件,在开发过程中设计和更新模板的效率极高,而无需重新启动以查看更改.
那么,有没有办法设置jetty插件的类路径,以包含每个JAR模块的目标/类和资源目录,而不是本地存储库中的实际JAR?
谢谢!
的Yaniv
多模块Maven项目无法实现这一点.Maven项目的一个基本规则是每个项目都应该能够独立存在.这并不妨碍它们一起构建,但任何一个项目都应该能够自己构建,只要满足它的所有依赖关系.
在这种情况下,这意味着WAR项目无法查看其他项目以查看是否需要更新,其他项目的POM是确定构建工件需要执行的操作的权威声明.一旦构建了工件,它就被放在本地存储库中.此时源文件与工件之间没有关联,因此无法确定哪些源文件会触发WAR所依赖的工件的重建.