首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果jboss版本是4.2,而不是5,那么maven-ear-plugin就可以工作了。为什么?

如果jboss版本是4.2,而不是5,那么maven-ear-plugin就可以工作了。为什么?
EN

Stack Overflow用户
提问于 2010-03-25 05:16:14
回答 2查看 2.7K关注 0票数 1

我正在使用maven来配置maven-ear-plugin。当我说jboss版本是5时,我得到了以下异常(参见下面标签下的代码)。如果我将版本替换为4.2,它就可以工作

代码语言:javascript
复制
<build>
    <finalName>tactical</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-ear-plugin</artifactId>
            <configuration>
                <version>5</version>
                <defaultJavaBundleDir>lib</defaultJavaBundleDir>
                <jboss>
                    <version>5</version>
                    <loader-repository>seam.jboss.org:loader=tactical</loader-repository>
                </jboss>
 <modules>
                    <ejbModule>
                        <groupId>${project.groupId}</groupId>
                        <artifactId>tactical-jar</artifactId>
                    </ejbModule>
                </modules>
            </configuration>
        </plugin>
    </plugins>
</build>

为什么它适用于jboss 4.2而不适用于5。什么??

我得到了以下异常:

代码语言:javascript
复制
    [INFO] Failed to initialize JBoss configuration

Embedded error: Invalid JBoss configuration, version[5] is not supported.
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to initialize JBoss configuration
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:583)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:49
9)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.jav
a:330)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to initialize JBoss configuration
        at org.apache.maven.plugin.ear.AbstractEarMojo.execute(AbstractEarMojo.java:159)
        at org.apache.maven.plugin.ear.GenerateApplicationXmlMojo.execute(GenerateApplicationXmlMojo.java:96)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
        ... 16 more
Caused by: org.apache.maven.plugin.ear.EarPluginException: Invalid JBoss configuration, version[5] is not supported.
        at org.apache.maven.plugin.ear.JbossConfiguration.<init>(JbossConfiguration.java:95)
        at org.apache.maven.plugin.ear.AbstractEarMojo.initializeJbossConfiguration(AbstractEarMojo.java:296)
        at org.apache.maven.plugin.ear.AbstractEarMojo.execute(AbstractEarMojo.java:155)
        ... 19 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds

任何想法。谢谢

EN

回答 2

Stack Overflow用户

发布于 2010-03-25 05:23:59

您使用的是哪个版本的插件?最新的source code表明这应该是可行的。

代码语言:javascript
复制
120             else if ( version.equals( JbossConfiguration.VERSION_5 ) )
121             {
122                 this.jbossFive = true;
123             }
124             else
125             {
126                 throw new EarPluginException(
127                     "Invalid JBoss configuration, version[" + version + "] is not supported." );
128             }
票数 0
EN

Stack Overflow用户

发布于 2010-03-25 05:41:19

maven ear插件的2.3.2版和更高版本中提供了对JBoss 5的支持(请参阅MEAR-102)。使用您当前的配置(没有指定插件的版本,出于构建重现性的考虑,不建议这样做),您将获得2.3.1版的插件。您可以通过运行以下命令来打印“有效pom”以进行检查:

代码语言:javascript
复制
mvn help:effective-pom

对于您的情况,我建议使用最新版本:

代码语言:javascript
复制
<build>
  <finalName>tactical</finalName>
  <plugins>
    <plugin>
      <artifactId>maven-ear-plugin</artifactId>
      <!-- Lock down plugin version for build reproducibility -->
      <version>2.4.1</version>
      <configuration>
        <version>5</version>
        <defaultJavaBundleDir>lib</defaultJavaBundleDir>
        <jboss>
          <version>5</version>
          <loader-repository>seam.jboss.org:loader=tactical</loader-repository>
        </jboss>
        <modules>
          <ejbModule>
            <groupId>${project.groupId}</groupId>
            <artifactId>tactical-jar</artifactId>
          </ejbModule>
        </modules>
      </configuration>
    </plugin>
  </plugins>
</build>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2511469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档