1

我想部署多个 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>
4

1 回答 1

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>
于 2012-09-09T14:32:25.130 回答