【发布时间】:2012-05-17 16:11:20
【问题描述】:
我有这个项目结构,我有一个父 pom,其中包括 moduleA、moduleB 和 moduleTest。
moduleA 和 moduleB 各自产生一个战争,比如说 warA 和 warB。
我使用maven依赖插件将warA和warB复制到moduleTest中。 然后我想使用maven tomcat插件开始战争。
不幸的是,我有两个困境: 如果我用war包标签声明moduleTest,那么tomcat插件会寻找一个名为warTest的文件来启动tomcat,即使我明确地将webapp的路径指向warA或warB。我最终得到一个构建失败,说找不到战争文件
如果我用jar包标签声明moduleTest,那么tomcat插件仍然会寻找warTest,但没有看到它,并且最终记录,跳过非war项目。
我已经读到可以欺骗 maven 战争插件不为模块产生战争,因此这应该迫使 tomcat 接受我告诉它接受的任何战争,但我无法让它工作.
以前有人这样做过吗?
回答: 我结束了使用 morbay 的 jetty maven 插件,现在我可以选择任何战争文件。 但是当我尝试执行运行目标时,出现以下错误:
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]
有人知道它会被拒绝吗? 我使用连接器为每个战争设置端口号。
【问题讨论】: