我正在尝试将包含和EJB项目的简单测试EAR部署到JBoss作为6。
我将EAR文件复制到JBOSS_HOME/server/default/deploy。我可以看到我的SUP.ear在JBoss中显示为Enterprise (EAR)的下的6管理控制台,但没有在Embedded EJB3 JARs下看到EJB3 jar。我没有看到JBoss控制台中加载bean,也无法访问它们。
我试着从www.manning.com/ JBoss下载教程,并构建并部署了第1章示例,这些bean加载得很好,我可以从客户端毫无问题地访问它们.
以下是我的EAR文件的结构:
SUP.ear
|--META-INF
|--application.xml
|--jboss-app.xml
|--MANIFEST.MF
|--SUP-ejb.jar
|--com
|--tomtresansky
|--sup
|--server
|--ejb
|--CalculatorBean.class
|--CalculatorLocal.class
|--CalculatorRemote.class
|--META-INF
|--MANIFEST.MFApplication.xml:
<?xml version="1.0"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application>
<display-name>SUP</display-name>
<module>
<ejb>SUP-ejb.jar</ejb>
</module>
</application>JBos-app.xml:
<!DOCTYPE jboss-app PUBLIC "-//JBoss//DTD J2EE Application 1.4//EN" "http://www.jboss.org/j2ee/dtd/jboss-app_4_0.dtd">
<jboss-app>
<loader-repository>SUP:app=ejb3</loader-repository>
</jboss-app>两个MANIFEST.MF文件都如下所示:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_24-b07 (Sun Microsystems Inc.)类是从以下源文件生成的:
CalculatorBean.java:
package com.tomtresansky.sup.server.ejb;
import javax.ejb.Stateless;
@Stateless
public class CalculatorBean implements CalculatorRemote, CalculatorLocal {
@Override
public int add(final int x, final int y) {
return x + y;
}
@Override
public int subtract(final int x, final int y) {
return x - y;
}
}CalculatorLocal.java:
package com.tomtresansky.sup.server.ejb;
import javax.ejb.Local;
import com.tomtresansky.sup.shared.Calculator;
@Local
public interface CalculatorLocal extends Calculator {
}CalculatorRemote.java:
package com.tomtresansky.sup.server.ejb;
import javax.ejb.Remote;
import com.tomtresansky.sup.shared.Calculator;
@Remote
public interface CalculatorRemote extends Calculator {
}发布于 2011-04-23 17:28:16
好吧,找到答案了.我没有在SUP-ejb.jar中包括com.tomtresansky.sup.shared.Calculator地狱。
如果JBoss为缺失类型提供了某种类型的错误消息,那就太好了.
https://stackoverflow.com/questions/5751665
复制相似问题