2012-08-02 88 views
1

我想部署多個webapps並運行maven碼頭插件或tomcat插件。 但我似乎無法讓他們工作。 我的主要目標是啓動服務器將所有的webapps,因爲他們是互相依賴的。 我該如何做到這一點? 我試着用plugin-創建一個單獨的項目多的ContextHandlers使用maven-jetty,tomcat部署多個戰爭?

<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

看看這個http://stackoverflow.com/questions/10567699/getting-http-500-when-running-servlet-in-jetty/10609507#10609507,你要設置多個實例或在同一實例上部署更多戰爭? – ant 2012-08-02 22:32:55

回答

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> 
+0

>您必須使用org.eclipse.jetty.maven.plugin.JettyWebAppContext實例,而不是標準的org.eclipse.jetty.webapp.WebAppContext實例。只有前者將允許webapp在maven環境中正常運行。 – 2017-04-01 08:40:01