我正在使用 JBoss EAP 6.0.1 (不是JBoss AS 7.1.1或7.1.3!)而我只是从一个Maven项目开始。
在普通的Eclipse项目中,我将项目的目标运行时设置为JBoss EAP服务器运行时,然后我的项目可以使用它的所有库。这里可用意味着我可以使用例如ctrl -t在任何这些库中查找一个类,当我附加源时,我可以在调试时进入它们。
我如何使用Maven(m2e)做到这一点?
我在http://maven.repository.redhat.com/techpreview/eap6/6.0.1/
找到了JBoss EAP 6.0.1的Maven存储库我是否需要在项目中添加一些root依赖项(代表JBoss EAP本身),如果是,那么这种依赖是什么?
我在这里找到了一个非常相似的问题:Adding JBoss AS 7 modules on Eclipse using Maven or JBoss Tools
但接受的答案只是说:“看看这些链接”,这并没有告诉我如何做到这一点(而且AS 7.1.1不适用于 EAP 6.0.1 )。
更新
我对这个问题并不完全清楚。 我不是在寻找Java EE API的引用。我知道该怎么做,因为它很简单:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>1.6</version>
<scope>provided</scope>
</dependency>
我也不正在寻找该规格jar的任何供应商版本。我绝对不寻找以下一个:
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-6.0</artifactId>
<version>1.0.0.Final</version>
<type>pom</type>
</dependency>
我正在寻找的是在项目中提供所有实现库。 JBoss AS 6服务器运行时默认执行此操作,使用JBoss AS 7 / EAP 6服务器运行时,您可以通过转到Server - &gt;来执行此操作。运行时环境 - &gt;默认类路径(您可以在那里输入单个路径,或者只需添加/ modules路径以将所有内容都放在一个)
我正在寻找Maven项目中的相应内容。
当我需要逐步完成目标服务器的 ACTUAL IMPLEMENTATION 罐子时,我真的需要实际的实施罐子。我 知道 我无法部署这些,也不打算部署它们。它们需要存在于我的IDE中,因此源代码与目标JVM中的内容相匹配,我可以使用CTRL-SHIFT-T查找 IMPLEMENTATION 类和CTRL-单击以导航到它们,分析调用层次结构等。
答案 0 :(得分:3)
您可以手动将依赖项导入存储库。我把它做成了我们的(神器)并且它正在工作。
答案 1 :(得分:2)
我发现了一个非常简单的解决方案:即使libs是通过Maven管理的,默认情况下禁用了目标运行时,你仍然可以显式选择目标运行时。
此目标运行时放在类路径上的库现在也将放在Maven项目的类路径中,此外还有Maven已经放在那里的库。您可以(手动)将源代码附加到这些库。
一旦您进行调试并逐步完成AS的内部,您只需再次删除目标运行时。
一个答案告诉我如何纯粹通过Maven和JBoss EAP 6.0.1(不是JBoss AS 7.1.1或7.1.3)这样做仍然是受欢迎的,所以我不会接受我自己的答案;)< / p>
答案 2 :(得分:1)
JBoss Maven存储库有一个很好的解释:https://community.jboss.org/wiki/MavenRepository
我猜你需要使用的存储库是:https://repository.jboss.org/nexus/content/groups/public-jboss/ 它应该包含你正在寻找的所有JBoss工件。
也许groupId / artifactId不正确。存储库的搜索功能位于:https://repository.jboss.org/nexus/index.html#welcome
我建议不要包含impl jar,因为无论如何都无法部署它们。因此规格罐应该没问题:
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-6.0</artifactId>
<version>1.0.0.Final</version>
<type>pom</type>
</dependency>
请参阅:http://www.andygibson.net/blog/quickbyte/jboss-java-ee-6-spec-dependency-in-maven/
JBoss服务器的gav似乎发生了很大的变化。 JBoss 7可以在以下网址找到:
<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-ee</artifactId>
<version>7.1.3.Final</version>
</dependency>
答案 3 :(得分:0)
看看这里:
JBoss Enterprise Application Platform Component Details
在我的pom.xml中,我使用它来从Jboss EAP 6.0.1获取依赖关系
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-6.0</artifactId>
<type>pom</type>
<scope>provided</scope>
<version>3.0.2.Final</version>
</dependency>
答案 4 :(得分:0)
如果我没有弄错的话,您可以使用Nexus或Git或Overlord管理项目工件以创建代理虚拟依赖项。
答案 5 :(得分:0)
可以使用运行时工件:
<!-- https://mvnrepository.com/artifact/org.jboss.bom/eap-runtime-artifacts -->
<dependency>
<groupId>org.jboss.bom</groupId>
<artifactId>eap-runtime-artifacts</artifactId>
<version>7.1.0.GA</version>
<type>pom</type>
<scope>import</scope>
</dependency>