0

既存のMavenアプリケーションをTomcat7.10以降を使用するようにアップグレードしようとしています。

7.8では、cargo-maven2-pluginを使用してtomcatコンテナーを起動し、webappをデプロイします。これは正常に機能します。

7.10以降では、これは次のエラーで失敗します。

[WARNING] [talledLocalContainer] 14/04/2011 12:21:43 PM org.apache.tomcat.util.digester.Digester startElement
[WARNING] [talledLocalContainer] SEVERE: Begin event threw exception
[WARNING] [talledLocalContainer] java.lang.ClassNotFoundException: org.apache.catalina.mbeans.ServerLifecycleListener

これは、このライブラリが7.9でtomcatから削除されたためですが、使用しているカーゴのバージョンでは、server.xml構成でこのライブラリが指定されています。

バグはcargo1.1.0で修正されました(http://jira.codehaus.org/browse/CARGO-923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

私は、Maven(より具体的にはcargo-maven2-plugin)が使用する必要があるバージョンの貨物を強制する方法を見つけようとしています。

私のpom.xmlの関連部分は次のようになります。

<plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.0.6</version>
    <configuration>
        <container>
            <containerId>tomcat7x</containerId>
            <zipUrlInstaller>
                <url>http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.12/bin/apache-tomcat-7.0.12.zip</url>
                <installDir>${user.home}/java/cargo/</installDir>
            </zipUrlInstaller>
        </container>
        <configuration>
            <properties>
                <cargo.logging>low</cargo.logging>
                <cargo.servlet.port>8280</cargo.servlet.port>
            </properties>
        </configuration>
    </configuration>
    <executions>
        <execution>
            <phase>install</phase>
            <goals>
                <goal>start</goal>
            </goals>
        </execution>
    </executions>
</plugin>

問題は、これが常に、cargo-maven2-pluginバージョン番号を介してcargo1.6を使用することです。mvnrepositoryを確認すると、これは利用可能な(そして壊れている)最新バージョンです。

configuration->propertiesセクションでcore.cargo.versionを指定しようとしても、違いはないようです。

何か案は?

4

1 に答える 1

1

このチケットは古いことは知っていますが、その答えは、それを開く他の誰かにとって役立つ可能性があります。

次のサンプルのように、pom.xmlのプラグイン定義で直接依存関係を指定して、プラグインの依存関係のバージョンをオーバーライドできます。のバージョンと私cargo-maven2-pluginは、代わり1.4.10に使用するためにいくつかの依存関係のバージョンをオーバーライドします1.4.11

<plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.4.10</version>
    <configuration>
        <container>
            <containerId>tomcat7x</containerId>
        </container>
    </configuration>
    <executions>
        <execution>
            <id>run</id>
            <goals>
                <goal>start</goal>
            </goals>
            <phase>pre-integration-test</phase>
        </execution>
        <execution>
            <id>finish</id>
            <goals>
                <goal>stop</goal>
            </goals>
            <phase>post-integration-test</phase>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-core-api-generic</artifactId>
            <version>1.4.11</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-documentation</artifactId>
            <version>1.4.11</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-daemon-client</artifactId>
            <version>1.4.11</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-core-api-container</artifactId>
            <type>test-jar</type>
            <version>1.4.11</version>
        </dependency>
    </dependencies>
</plugin>
于 2015-05-05T16:09:08.350 に答える