当我尝试将Java EE项目部署到 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 EE 5和EJB 3.0。
答案 0 :(得分:0)
我刚才有类似的问题。我通过添加创建“ejb-jar.xml”文件解决了这个问题,并将其放在project-&gt; src-&gt; resources-&gt; META-INF下。
http://java.sun.com/xml/ns/j2ee/ejb-jar_3_0.xsd“`在这里输入代码 版本= “3.0” &GT;
<enterprise-beans>
<session>
<ejb-name>className </ejb-name>
<ejb-class>packageName.className</ejb-class>
<session-type>Stateless</session-type>`enter code here`
</session>
</enterprise-beans>
enter code here