【问题标题】:JBoss maven plugin: deployment fails, dependencies not foundJBoss maven 插件:部署失败,未找到依赖项
【发布时间】:2015-12-11 15:41:33
【问题描述】:

我正在将我们的项目从 ant-build 移植到 maven-build。我使用 jboss-javaee6-ear-webapp Archetype 作为基础。

所以我的设置还包括一个 super-pom、一个 ear、ejb 和 war 子模块。我还复制了 jboss-as-maven-plugin 配置

(并尝试使用 3 个不同版本的插件)。

但部署仍然失败:

[INFO] Reactor Summary:
[INFO]
[INFO] myProg Framework ................................... SUCCESS [  0.390 s]
[INFO] myProgEJB module .................................. SUCCESS [  3.848 s]
[INFO] myProgWeb module .................................. FAILURE [  0.051 s]
[INFO] myProgEAR module .................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.711 s
[INFO] Finished at: 2015-12-11T13:49:48+01:00
[INFO] Final Memory: 49M/520M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project myProg-web: Could not resolve dependencies for project at.mycomp:myProg-web:war:1.0-SNAPSHOT: Could not find artifact at.mycomp:myProg-ejb:jar:1.0-SNAPSHOT -> [Help 1]

mvn compile 和 mvn package 工作正常,我可以手动将 EAR 复制到我的 jboss 部署文件夹中。

在超级 pom 中:

<plugin>
    <groupId>org.jboss.as.plugins</groupId>
    <artifactId>jboss-as-maven-plugin</artifactId>
    <version>7.7.Final</version>
    <inherited>true</inherited>
    <configuration>
        <skip>true</skip>
    </configuration>
</plugin>

在耳边:

<plugin>
    <groupId>org.jboss.as.plugins</groupId>
    <artifactId>jboss-as-maven-plugin</artifactId>
    <configuration>
        <skip>false</skip>
        <port>9993</port>
    </configuration>
</plugin>

【问题讨论】:

  • 您需要提供更多关于您正在做什么的 poms 和其他配置 xml 的上下文。如果您执行 mvn clean package 并手动部署生成的 .ear ,这行得通吗?
  • 我在原始帖子中犯了一个错误。我的意思是“mvn 包”而不是“部署”。我可以成功运行 clean、compile、package 等,并且如我的帖子中所写,我可以手动复制 EAR 文件。它没有成功部署,但这是另一个故事,目前还没有预料到。我只是想知道为什么“mvn package”可以解析deps并构建一个jar、war和ear,而插件却不能。
  • 如果你使用wildfly(因为你添加了标签,虽然我没有看到它提到),你不使用wildfly-maven-plugin的任何特殊原因?
  • 不,我添加它是因为我认为没有人再寻找 jboss 了 :) 但我已经解决了这个问题。请参阅下面的答案
  • 是的,我注意到了 - 试图清理这个问题,以便对未来的访问者更有用。

标签: java maven jboss


【解决方案1】:

JBoss Archetype 将 EJB 部分的依赖添加到 WEB 部分的 pom 中

<!-- Dependency on the EJB module so we can use it's services if needed -->

虽然插件找不到 EJB 的 POM。通过查看错误消息并将依赖项注释掉,我发现了这一点。然后它对于 EAR 部分失败,因为它找不到对子模块的依赖关系。

我只需要运行mvn install,因此人工制品将安装在本地存储库中。

maven依赖的问题和解决方法是一样的:分析插件目标。

【讨论】:

  • 我发现为了获得更好的依赖信息而必须安装所有模块非常令人沮丧。另一个可怕的选择是将所有 EJB 分类为 JAR ......但这只会导致您的 EJB 插件等出现其他问题。
猜你喜欢
  • 2010-11-24
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-26
  • 2020-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多