0

私は最近 Cargo を発見し、開発者が maven を使用して Web アーティファクトを一貫して自動的にテストできるようにする可能性に非常に興奮していますが、正しく構成するのに苦労しています。良くも悪くも、私たちは WebLogic ショップですが、プラグインが org.codehaus.cargo.container.weblogic を見つけることができないため、Cargo の Maven プラグインを使用して WebLogic Local Standalone を構成する良い例を見つけることができませんでした。 WebLogic103xStandaloneLocalConfiguration クラス。

物事を単純化するために、私はアーキタイプから始めました (これには、weblogic を除くすべてのサーバーのサンプルが含まれています....ありがとうございます)、pluginManagement の下のプラグインを次のように変更しました。

    <plugin>
        <groupId>org.codehaus.cargo</groupId>
        <artifactId>cargo-maven2-plugin</artifactId>
        <version>1.4.5</version>
        <configuration>
            <container>
                <containerId>weblogic103x</containerId>
                <type>standalone</type>
                <home>${weblogic.10.3.server}</home>
            </container>
            <configuration>
                <type>local</type>
                <properties>
                    <cargo.servlet.port>8001</cargo.servlet.port>
                </properties>
            </configuration>
        </configuration>
    </plugin>

これのいくつかは冗長かもしれません (私は maven プロファイルの経験があまりありません)、追加のプロファイルを追加してデフォルトにしました:

<profile>
  <id>weblogic103x</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <version>1.4.5</version>
            <configuration>
                <container>
                    <containerId>weblogic103x</containerId>
                    <type>standalone</type>
                    <home>${weblogic.10.3.server}</home>
                </container>
                <configuration>
                    <type>local</type>
                    <implementation>org.codehaus.cargo.container.weblogic.WebLogic103xStandaloneLocalConfiguration</implementation>
                    <properties>
                        <cargo.servlet.port>8001</cargo.servlet.port>
                    </properties>
                </configuration>
            </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</profile>

そして、私が得る例外は次のとおりです。

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Custom configuration implementation [org.codehaus.cargo.container.weblogic.WebLogic103xStandaloneLocalConfiguration] cannot be loaded
[INFO] ------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Custom configuration implementation [org.codehaus.cargo.container.weblogic.WebLogic103xStandaloneLocalConfiguration] cannot be loaded
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
        [snip]... several more
Caused by: org.apache.maven.plugin.MojoExecutionException: Custom configuration implementation [org.codehaus.cargo.container.weblogic.WebLogic103xStandaloneLocalConfiguration] cannot be loaded
        at org.codehaus.cargo.maven2.configuration.Configuration.createConfiguration(Configuration.java:266)
        [snip]... several more
Caused by: java.lang.ClassNotFoundException: org.codehaus.cargo.container.weblogic.WebLogic103xStandaloneLocalConfiguration
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
        at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
        at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
        at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:266)
        at org.codehaus.cargo.maven2.configuration.Configuration.createConfiguration(Configuration.java:259)
        ... 24 more

設定が足りないだけですか?それとも、Cargo がどのように機能するのかを根本的に誤解していますか? または、他の何か?

4

1 に答える 1

0

はい、分かりました。これは、プロファイルで実装クラスを指定したために発生していました。それが削除されると、エラーは次のとおりです。

There's no registered configuration for the parameters (container [id = [weblogic103x], type = [standalone]], configuration type [local]).

これはもちろん、どの値がどのタイプ フィールドに許可されているか (コンテナ タイプと構成タイプ)に厳密に注意を払う必要があったためです。このページには参照があります:

http://cargo.codehaus.org/Maven2+Plugin+Reference+Guide

コンテナー タイプを「インストール済み」に、構成タイプを「スタンドアロン」にすると、作業はずっとスムーズに進みました。

だから、私にRTFM!:)

于 2013-10-31T23:39:53.640 に答える