我想部署多个webapps并运行maven jetty插件或tomcat插件。 但我似乎无法让他们工作。 我的主要目标是启动服务器将所有的webapps,因为他们相互依赖。 我该如何实现这一目标? 我尝试使用maven jetty插件 - 创建了一个带有多个contextHandlers的单独项目
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.2.v20120308</version>
<configuration>
<contextHandlers>
<contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
<contextPath>/data-emulator</contextPath>
<resourceBase>${basedir}/../data-emulator/target/</resourceBase>
</contextHandler>
<contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
<contextPath>/service</contextPath>
<resourceBase>${basedir}/../service/target/</resourceBase>
</contextHandler>
<contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
<contextPath>/client</contextPath>
<resourceBase>${basedir}/../client/target/</resourceBase>
</contextHandler>
</contextHandlers>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</configuration>
</plugin>
答案 0 :(得分:2)
您的 resourceBase 参数不正确。 目标文件夹不包含您的网页和WEB-INF文件夹(除非您有特殊的构建后任务复制输出文件)。
您应该使用 war 参数。以下示例:
<contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
<contextPath>/data-emulator</contextPath>
<war>${basedir}/../data-emulator/target/data-emulator.war</war>
</contextHandler>