![](/img/trans.png)
[英]Maven tomcat plugin: tomcat7:run or tomcat7:run-war?
[英]Maven Tomcat7 run a dependency war
我對maven及其tomcat7插件有疑問:)
我有以下Maven項目:
這三個項目均已在maven中正確構建,並且效果很好:
現在,我需要提供包含特定插件設置的webapp的不同包裝。 即我想用webapp + plugin1生成一個戰爭文件,並用webapp + pugin2生成另一個文件
為此,我創建了2個附加的Maven項目,這些項目聲明了webapp項目和相應插件項目的依賴關系,並打包為wars。 生成的war文件具有預期的內容,並且可以部署到tomcat,但是當我嘗試使用maven tomcat插件(tomcat7:再次運行)時,它根本不會啟動任何內容。
盡管這對我來說並沒有阻礙(我的主要目的是生成戰爭文件),但我還是覺得自己錯過了一些東西。
這些聚合項目的pom.xml看起來像這樣(請注意,那些項目中絕對沒有代碼,這些代碼只是為打包而創建的,具有特定的依賴關系)。
<groupId>my.project</groupId>
<artifactId>live1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>MyWebapp</name>
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<dependencies>
<dependency>
<groupId>my.project</groupId>
<artifactId>plugin1</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>my.project</groupId>
<artifactId>webapp</artifactId>
<version>${project.version}</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<finalName>MyWebapp</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<url>http://localhost:8080/manager</url>
<server>localhost</server>
<path>/${project.build.finalName}</path>
</configuration>
</plugin>
</plugins>
</build>
謝謝 !
注意:長期潛伏者,第一次進入這里,如果缺少某些信息,請告訴我:)
根據項目的結構,僅添加類型war的依賴項可能並不足夠。 您可能還需要按以下說明配置<overlays>
, maven-war-plugin 。 您的最終戰爭似乎無法提供您期望的完整Web配置。 使用overlays
您可以配置如何將依賴項中的資源打包到最終的Web應用程序中。
與tomcat7插件相比,外部tomcat啟動應用程序的方式必須有所不同。 也許您可以嘗試-X選項:
mvn -X tomcat7:run
這應該注銷一些有關嵌入式tomcat正在配置的細節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.