【问题标题】:Configuration class not found for WebLogic local standalone with cargo maven plugin使用 cargo maven 插件找不到 WebLogic 本地独立的配置类
【发布时间】:2013-11-11 16:11:30
【问题描述】:

我最近发现了 Cargo,并且对它允许开发人员使用 maven 一致地自动测试 Web 工件的潜力感到非常兴奋——但我无法正确配置它。不管好坏,我们是一家 WebLogic 商店,但我一直无法找到使用 Cargo 的 Maven 插件配置 WebLogic Local Standalone 的好示例,因为该插件无法找到 org.codehaus.cargo.container.weblogic。 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 应该如何工作?还是别的什么?

【问题讨论】:

    标签: java maven-2 weblogic cargo maven-cargo


    【解决方案1】:

    好的,我明白了。这是因为我在配置文件中指定了一个实现类。删除后,错误是:

    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 在我身上! :)

    【讨论】:

      猜你喜欢
      • 2011-09-13
      • 1970-01-01
      • 1970-01-01
      • 2015-01-08
      • 2021-11-04
      • 2013-08-15
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多