Java JBoss EAP 6在APP-INF/lib中找不到JAR
我正在从Weblogic迁移到JBoss EAP 6.4,但在部署和启动JBoss服务器时遇到问题 我的耳朵结构如下:Java JBoss EAP 6在APP-INF/lib中找不到JAR,java,jboss,migration,ejb,weblogic,Java,Jboss,Migration,Ejb,Weblogic,我正在从Weblogic迁移到JBoss EAP 6.4,但在部署和启动JBoss服务器时遇到问题 我的耳朵结构如下: .EAR | |---APP-INF | |---lib | |---[many .jar files] | |---META-INF | |---application.xml | |---jboss-deployment-structure.xml | |---[EJB JAR files] 问题: EAR根目录中的E
.EAR
|
|---APP-INF
| |---lib
| |---[many .jar files]
|
|---META-INF
| |---application.xml
| |---jboss-deployment-structure.xml
|
|---[EJB JAR files]
问题:
EAR根目录中的EJB JAR无法访问JAR中
APP-INF/lib
文件夹中的类。我手动将lib
文件夹放在EAR的根目录,而不是APP-INF
文件夹中,这似乎起到了作用
JBoss正在查看.EAR/lib
而不是.EAR/APP-INF/lib
然后,我在我的pom.xml
中的maven ear plugin
部分添加了以下内容,以使maven在根目录下而不是在APP-INF
中创建lib
文件夹:
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<goals>
<goal>generate-application-xml</goal>
<initializeInOrder>true</initializeInOrder>
</goals>
</configuration>
</plugin>
maven耳朵插件
2.9.1
解放党
生成应用程序xml
真的
APP-INF/lib的位置特定于WebLogic。有两种解决方案:
- 让Maven根据标准构建应用程序-
。这就是你在回答中所做的/lib
- 由于Java EE 5,您可以在META-INF/application.xml文件中包含library directory参数:
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"> <module> <ejb>hello-ejb.jar</ejb> </module> <module> <web> <web-uri>myapp.war</web-uri> <context-root>myapp</context-root> </web> </module> <library-directory>APP-INF/lib</library-directory> </application>
检查。您是否在windows上运行jboss?我注意到我可以在mac上使用子目录,如
或APP-INF/lib
,但在windows上无法使用。也尝试过反斜杠,但没有成功。@Love是的,我在Windows上做过my/lib
<application> <display-name>My Application</display-name> <module> <web> <web-uri>myapp.war</web-uri> <context-root>/myapp</context-root> </web> </module> <module> <ejb>myapp.jar</ejb> </module> <library-directory>APP-INF/lib</library-directory> </application>