【问题标题】:Resolving Maven conflict: jBoss AS 7 duplicate Antlr jar exclussion from POM for JUnit runner解决 Maven 冲突:jBoss AS 7 从 POM 中为 JUnit 运行器重复的 Antlr jar 排除
【发布时间】:2014-04-24 03:44:47
【问题描述】:

当我从 POM 文件中的 hibernate-entitymanager 依赖项声明中排除 Antlr 时,我遇到了 JUnit 的问题。

我不得不排除Antlr,因为似乎JBoss AS 7 正在引入它自己的jar 文件副本。添加排除项后,我可以构建并部署到JBoss,但我无法运行单元测试,除非我手动删除排除项。

以下是 POM 文件的相关部分。

解决此问题或告诉 Maven 在 JUnit 中运行时不要排除 Antlr 的最佳方法是什么?

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>3.6.0.Final</version>
    <scope>compile</scope>
    <!-- Exclude antlr since it conflicts with Jboss AS7 
    <exclusions>
     <exclusion>
       <groupId>antlr</groupId>
       <artifactId>antlr</artifactId>
       </exclusion>
    </exclusions>  -->
</dependency>

【问题讨论】:

  • 指定休眠依赖项
  • 感谢您的建议。那行得通。

标签: hibernate maven junit jboss7.x antlr


【解决方案1】:

感谢 ctomc 的建议,我使用了这个对我有用的解决方案。再次感谢!

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>3.6.0.Final</version>
    <scope>compile</scope>
    <!-- Exclude antlr since it conflicts with Jboss AS7   -->
    <exclusions>
        <exclusion>
            <groupId>antlr</groupId>
            <artifactId>antlr</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>antlr</groupId>
    <artifactId>antlr</artifactId>
    <version>2.7.7</version>
    <scope>provided</scope>
</dependency>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-23
    • 1970-01-01
    • 2014-07-16
    相关资源
    最近更新 更多