【问题标题】:Maven error when pom.xml is packaged an ejb, but goes away when packaged as jarpom.xml打包为ejb时出现Maven错误,但打包为jar时消失
【发布时间】:2014-04-17 03:49:44
【问题描述】:

当我将 pom.xml 打包为 EJB 时,我收到一个我不理解的错误。如果我以任何方式触摸包以包括 Ctrl+S 和 Maven 更新,则会出现此错误。如果我将包装改回 jar,错误就会消失。

代码:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.myorg.buildparent</groupId>
    <artifactId>BuildParent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <groupId>com.myorg.myEjbPackage</groupId>
  <artifactId>MyEjbPackage</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>ejb</packaging>
</project>

通过改变

<packaging>ejb</packaging>

<packaging>jar</packaging>

错误会消失。

错误字符串供参考:

'Building workspace' has encountered a problem.
Errors occurred during the build.
Errors running builder 'Maven Project Builder' on project 'MyEjbPackage'.
org.codehaus.plexus.archiver.ArchiverException

即使我可以消除错误,我仍然觉得应该将它打包为 ejb。这对任何人都有意义吗?我的 EJB 包是否需要在 pom 中打包为 EJB?我应该承认,我在 Maven 方面的技能与新手/低中级水平差不多。

【问题讨论】:

  • 在命令行运行maven时会出现这个错误还是在某种IDE(Eclipse/IDEA/Netbeans)中出现这个错误?
  • 这是在 IMB 的 RAD 中。

标签: java maven jakarta-ee ejb pom.xml


【解决方案1】:

尝试在您的 POM 中添加此配置。 EJB 插件(当您选择 ejb 打包类型时默认绑定到生命周期)不使用与 jar/war/ear 插件相同的存档器版本。

有一个JIRA issue 用于更新依赖版本,但它还没有工作。

<pluginManagement>
  <plugins>
     <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ejb-plugin</artifactId>
        <version>${maven.ejb.plugin.version}</version>
        <dependencies>
          <!-- Use the same archiver as the other [j/w/e]-ar plugins -->
          <!-- See http://jira.codehaus.org/browse/MEJB-52 -->
          <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-archiver</artifactId>
            <version>2.5</version>
          </dependency>
          <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-archiver</artifactId>
            <version>2.3</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </pluginManagement>

更新

MEJB-52maven-ejb-plugin 2.4 版及更高版本中已修复。在添加此配置之前,请考虑将插件版本更新到最新版本。

【讨论】:

    猜你喜欢
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多