Класс конфигурации не найден для локального автономного WebLogic с плагином Cargo Maven
Недавно я обнаружил Cargo и очень рад тому, что разработчики могут постоянно и автоматически тестировать веб-артефакты с помощью maven, но у меня возникают проблемы с его правильной настройкой. Что бы там ни было, мы магазин WebLogic, но мне не удалось найти хороший пример настройки WebLogic Local Standalone с помощью плагина Cargo Maven, так как плагин не может найти 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? Или что-то другое?
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 на меня!:)