当我尝试将Java项目部署到weblogic 12c时,我会得到以下错误
No EJBs found in the ejb-jar file
但是,只有在部署EAR源文件夹并让weblogic编译它(拆分开发目录)时才会发生这种情况。如果我先用ant构建EAR并部署它,它就会部署得很好。
我认为这个问题与这样一个事实有关,即EJB模块同时存在注释和ejb-jar.xml描述符。其他一切都是通过注释来处理的,而ejb-jar.xml只是以这样的方式引入了ejb-client-jar。
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:ejb="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" version="3.0">
<display-name>EJB</display-name>
<ejb-client-jar>EJBClient.jar</ejb-client-jar>
</ejb-jar>此外,weblogic-ejb-jar.xml还用于附加配置。
但是,在这种情况下,是什么使预构建的EAR和源部署的行为不同,以及如何解决这个问题?应用程序使用Java 5和EJB3.0。
发布于 2018-02-28 14:15:30
我只是遇到了一个类似的问题。我通过添加创建"ejb-jar.xml“文件来解决这个问题,并将其放在项目->src->resources->META下。
内容如下:
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/j2ee/ejb-jar_3_0.xsd"
version="3.0">
<enterprise-beans>
<session>
<ejb-name>className </ejb-name>
<ejb-class>packageName.className</ejb-class>
<session-type>Stateless</session-type>
</session>
</enterprise-beans>
</ejb-jar>https://stackoverflow.com/questions/45371784
复制相似问题