3

我已经用 JBoss 7.1.1 建立了一个 maven 项目,我想使用 JavaEE 库。在根 pom.xml 我设置了:

<repositories>
    <repository>
        <id>jboss</id>
        <url>https://repository.jboss.org/nexus/content/groups/public/</url>
    </repository>
</repositories>

我在根 pom.xml 和 ejb maven 模块的 pom.xml 中有这个:

<dependency>
        <groupId>org.jboss.spec</groupId>
        <artifactId>jboss-javaee-6.0</artifactId>
        <version>3.0.2.Final</version>
        <scope>provided</scope>
        <type>pom</type>
</dependency>

当我这样做时,maven clean install我得到了这个错误:

Failed to execute goal on project myproject-ejb: Could not resolve dependencies for project myproject:myproject-ejb:ejb:1.0-SNAPSHOT: Failure to find org.jboss.spec:jboss-javaee-6.0:jar:3.0.2.Final in https://repository.jboss.org/nexus/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of jboss has elapsed or updates are forced -> [Help 1]

我的配置怎么了?

编辑 1
如果我从根 pom.xml 中删除 jboss 存储库,我会收到此错误:

[ERROR] Failed to execute goal on project myproject-ejb: Could not resolve dependencies for project myproject:myproject-ejb:ejb:1.0-SNAPSHOT: The following artifacts could not be resolved: org.jboss.spec:jboss-javaee-6.0:jar:3.0.2.Final, xalan:xalan:jar:2.7.1.jbossorg-2: Could not find artifact org.jboss.spec:jboss-javaee-6.0:jar:3.0.2.Final in central (http://repo.maven.apache.org/maven2) -> [Help 1]
4

3 回答 3

10

这是由Xalan POM 文件中的错误引起的。以下解决方法为我解决了这个问题:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.jboss.spec</groupId>
            <artifactId>jboss-javaee-6.0</artifactId>
            <version>3.0.2.Final</version>
            <type>pom</type>
            <scope>provided</scope>
        </dependency>
        <!-- Required by jboss-javaee-6.0:3.0.2.Final (https://issues.jboss.org/browse/JBBUILD-708) --> 
        <dependency>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
            <version>2.7.1</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
于 2013-09-07T15:31:35.677 回答
0

jboss-javaee-6.0 的给定依赖项可从Maven Central获得,因此无需提供单独的存储库。

根据错误消息,您需要从您的位置 maven 存储库(通常在 $HOME/.m2/repository 中)中删除特定位置,在这种情况下是文件夹org/jboss/。之后,您需要重建您的项目。

于 2013-04-30T13:10:11.243 回答
0

这对我有用:

<dependency>
    <groupId>org.jboss.spec</groupId>
    <artifactId>jboss-javaee-all-6.0</artifactId>
    <version>3.0.2.Final</version>
    <scope>provided</scope>
</dependency>

但我在这里看到类似以下的内容也可能有效:

<dependency>    
    <groupId>org.jboss.spec</groupId>
    <artifactId>jboss-javaee-web-6.0</artifactId>
    <version>2.0.0.Final</version>
    <type>pom</type>
    <scope>import</scope>    
</dependency>
于 2013-11-15T10:23:07.810 回答