我有一个maven应用程序将作为战争部署到JBOSS 5.1。我想知道如何获取它以便Maven可以在编译时使用JBOSS 5.1 jar(即common / lib文件夹中的所有jar以及运行时JBOSS可用的任何其他资源),但不将它们捆绑到war文件中。
我认为我可以在提供范围内包含某种JBOSS依赖项来执行此操作但是我找不到这样的依赖项。我做了很多搜索,并没有真正找到这样的依赖。有许多引用指向中央JBOSS存储库并从中拉出依赖项。我认为只有一个全局依赖包括所有JBOSS运行时jar。 Os有这样的事吗?
答案 0 :(得分:3)
如果您需要的不仅仅是JBoss软件包等标准Java EE API或解决某些兼容性问题,您可以使用此依赖项:
适用于JBoss / Java EE 7规范API
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-7.0</artifactId>
<version>1.0.1.Final</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
适用于JBoss / Java EE 6规范API
<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>
对于JBoss WildFly 8.2.0.Final完整的运行时依赖
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-parent</artifactId>
<version>8.2.0.Final</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
现在,您还可以使用这些POM文件来提取所需的特定依赖项。
这在远程调试时非常有用,可让您的IDE自动解析当前加载的服务器依赖项jar和源,或者在开发模式下出现在stacktraces ......中。
在生产MAVEN版本中,您可能只需要这种配置(取决于您的JBoss版本): http://www.mastertheboss.com/jboss-server/wildfly-8/maven-configuration-for-java-ee-7-projects-on-wildfly
答案 1 :(得分:2)
考虑到JBoss是一个EE容器,添加JavaEE依赖就足够了。
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
提供的作用域确保在将应用程序部署到服务器后使用JBoss自己的库。