EAR之外的WAR,无法在EAR中引用JAR。在野生蝇8

时间:2014-12-15 20:00:11

标签: web-services java-ee jboss ear wildfly

我正在从JBoss 5.1迁移到Wildfly 8.2,我正在使用resteasy和一些EAR部署Web服务,其中包含从数据库获取所请求数据的代码。 EAR都有多个(6)JAR,但是当我调用Web服务时,它无法找到EAR并引用它的JAR

  

14:57:48,183 INFO [stdout](默认任务-4)InitialContextFactory未定义 - 使用默认值:org.jnp.interfaces.NamingContextFactory

     

14:57:48,184 ERROR [stderr](默认任务-4)javax.naming.NameNotFoundException:bpc / AccountManagementService - service jboss.naming.context.java.bpc.AccountManagementService

我有2个单独部署的EAR和WAR,它们都是同时部署的,它们都可以毫不费力地部署。

为什么现在无法整合是我的问题。

3 个答案:

答案 0 :(得分:1)

如果你从jboss 5迁移到wildfly,你必须调整你的jndi查找..你得到一个NameNotFoundException,所以你可能正在使用旧的jndi语法执行查找..

启动服务器时,日志会显示ejbs的不同jndi名称。 如果你正在寻找一个来自战争的ejb,并且它们都没有捆绑在同一个耳朵中,那么你必须使用java:global命名类型..

例如,假设AccountManagementService是一个接口,使用@Remote注释它,并使用以下jndi语法从您的战争中搜索它

java:global/earName/ejb-jar-name/AccountManagementService!com.example.AccountManagementServiceImpl

查看此文档是否有帮助(修改JNDI查找代码部分)https://docs.jboss.org/author/display/AS71/Order+Application+Migration+from+EAP5.1+to+AS7

答案 1 :(得分:0)

我通过在web-inf文件夹下的WAR文件中添加jboss-deployment-structure.xml解决了这个问题 通过添加依赖性,如

dependencies>  
            <module name="deployment.MY_EAR.ear.MY_EJB_JAR.jar"/>  
</dependencies>

答案 2 :(得分:0)

我有类似的问题。 我正在从Weblogic迁移到Wildfly。

一个只有一个属性文件和一个EAR的JAR,可以同时部署而没有任何问题。 从EAR应用程序中,需要从JAR访问属性文件。

这在weblogic中工作正常,但wildfly无法识别属性文件。