1

我制作了一个 EJB 3.0 和一个客户端。这是我的 EJB 的 pom:

  <repositories>
    <repository>
      <id>Jboss</id>
      <url>https://repository.jboss.org/nexus/content/repositories/releases/</url>
    </repository>
  </repositories>
  <dependencies>
    <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>6.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.ejb3</groupId>
      <artifactId>jboss-ejb3-ext-api</artifactId>
      <version>1.0.0</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.ejb3</groupId>
      <artifactId>jboss-ejb3-ext-api-impl</artifactId>
      <version>1.0.0</version>
    </dependency>
  </dependencies>

但是 jboss-ejb3-ext-api 及其实现无法检索:/ eclipse 告诉我:

容器 'Maven Dependencies' 引用了不存在的库 'C:\usr\local\m2-repository\org\jboss\ejb3\jboss-ejb3-ext-api\1.0.0\jboss-ejb3-ext-api-1.0。 0.jar' MyFirstMavenEjb

在我的客户端中,我刚刚添加了“jnp-client”,检索这个没有问题。
知道为什么我不能找回那两个罐子吗?
谢谢。

编辑
我需要这个类:“org.jboss.ejb3.annotation.RemoteBinding”要使用@RemoteBinding。

编辑2:在cmd中执行一些“mvn clean install”后的解决方案我看到maven正在尝试下载一些transitie依赖......来自旧的JBOSS REPO。因为它被拒绝访问,所以它在下载最终的 .jar 之前就停止了

禁止访问旧仓库

添加以下排除解决了问题(拒绝访问的罐子)

<exclusions>
<exclusion>
<groupId>gnu-getopt</groupId>
<artifactId>getopt</artifactId>
</exclusion>
<exclusion>
<groupId>apache-xerces</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>apache-xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
<exclusion>
<groupId>wutka-dtdparser</groupId>
<artifactId>dtdparser121</artifactId>
</exclusion>
<exclusion>
<groupId>sun-jaxb</groupId>
<artifactId>jaxb-api</artifactId>
</exclusion>
</exclusions>

然而就没有更好的解决方案吗?我猜它正试图从旧的 repo 中获取东西,因为这个 jar 不再使用了,一个新的肯定很受欢迎。

4

2 回答 2

1

我找到了一个更好的解决方案,事实上这个存储库已经被贬值了,这意味着 jboss 管理不希望你再使用它里面的东西了。

但是,如果您将配置文件添加到您的 maven settings.xml,则可以授予对该 repo 的访问权限

添加此配置文件:

<profile>
  <id>jboss-deprecated-repository</id>
  <repositories>
    <repository>
      <id>jboss-deprecated-repository</id>
      <name>JBoss Deprecated Maven Repository</name>
      <url>https://repository.jboss.org/nexus/content/repositories/deprecated/</url>
      <layout>default</layout>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
        <updatePolicy>never</updatePolicy>
      </snapshots>
    </repository>
  </repositories>
</profile>

并且不要忘记通过 addind that betwen 来激活配置文件

  <pluginGroups>
    <pluginGroup>org.jboss.maven.plugins</pluginGroup>
  </pluginGroups>
于 2012-06-15T13:05:35.640 回答
0

好的,所以您要查找的 jar 就在其中,$JBOSS_HOME/common/lib因此我将执行以下操作以使其在您的 Maven 存储库中可用:
mvn install:install-file -Dfile=$JBOSS_HOME/common/lib/jboss-ejb3-ext-api.jar -DgroupId="org.jboss.javaee" -DartifactId="jboss-javaee" -Dversion="1.0.0" -Dpackaging=jar

之后在 Eclipse 中更新您的 Maven 依赖项。

于 2012-05-11T12:55:53.830 回答