簡體   English   中英

Maven Tomcat7進行依賴戰爭

[英]Maven Tomcat7 run a dependency war

我對maven及其tomcat7插件有疑問:)

我有以下Maven項目:

  • plugin1:打包為jar的純Java項目
  • plugin2:打包為jar的純Java項目
  • webapp:打包為jar的獨立webapp項目

這三個項目均已在maven中正確構建,並且效果很好:

  • 我可以使用plugin1 / plugin2中的jar
  • 我可以將webapp war文件部署到Web容器
  • 我可以運行tomcat7:run來啟動webapp

現在,我需要提供包含特定插件設置的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM