我有这个项目结构,其中我有一个父 pom,其中包括 moduleA、moduleB 和 moduleTest。
模块A 和模块B 各自产生一个战争,比如说warA 和warB。
我使用maven依赖插件将warA和warB复制到moduleTest中。然后我想使用maven tomcat插件开始战争。
不幸的是,我有这两个困境:如果我用war包标签声明moduleTest,那么tomcat插件会寻找一个名为warTest的文件来启动tomcat,即使我明确地将webapp的路径指向warA或warB。我最终得到一个构建失败,说找不到战争文件
如果我用 jar 的包标签声明 moduleTest,那么 tomcat 插件仍然会寻找 warTest,但没有看到它,并且最终记录,跳过非战争项目。
我已经读过可以欺骗 maven 战争插件不为模块产生战争,因此这应该迫使 tomcat 接受我告诉它接受的任何战争,但我无法让它工作。
以前有人必须这样做吗?
答:我结束了使用 morbay 的 jetty maven 插件,现在我可以选择任何战争文件。但是当我尝试执行 run 目标时,出现以下错误:
INFO: FrameworkServlet 'spring': initialization completed in 4017 ms
2012-05-18 11:42:57.499:INFO::Started SelectChannelConnector@0.0.0.0:8180
2012-05-18 11:42:57.500:INFO::Started SelectChannelConnector@0.0.0.0:8380
[INFO] Started Jetty Server
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 45.296s
[INFO] Finished at: Fri May 18 11:42:57 PDT 2012
[INFO] Final Memory: 32M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.mortbay.jetty:jetty-maven-plugin:7.1.3.v20100526:run
(start- container) on project functional-test: Failure: Permission denied -> [Help 1]
[ERROR]
有人知道它会被拒绝吗?我使用连接器为每个战争设置端口号。