Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee JBoss无法识别EAR中的EJB jar_Jakarta Ee_Jboss_Ejb 3.0_Ejb_Jboss6.x - Fatal编程技术网

Jakarta ee JBoss无法识别EAR中的EJB jar

Jakarta ee JBoss无法识别EAR中的EJB jar,jakarta-ee,jboss,ejb-3.0,ejb,jboss6.x,Jakarta Ee,Jboss,Ejb 3.0,Ejb,Jboss6.x,我正在尝试将一个简单的测试EAR和EJB项目部署到JBossAS6 我将EAR文件复制到JBOSS_HOME/server/default/deploy dir。我可以在JBoss中看到我的SUP.ear作为6管理控制台显示在企业应用程序(ear)下,但我看不到EJB3 jar显示在嵌入式EJB3 jar下。我在JBoss控制台中看不到加载的bean,因此无法访问它们 我试着从www.manning.com/panda下载JBoss教程,并构建和部署了第1章示例,这些bean加载良好,我可以从客

我正在尝试将一个简单的测试EAR和EJB项目部署到JBossAS6

我将EAR文件复制到JBOSS_HOME/server/default/deploy dir。我可以在JBoss中看到我的SUP.ear作为6管理控制台显示在企业应用程序(ear)下,但我看不到EJB3 jar显示在嵌入式EJB3 jar下。我在JBoss控制台中看不到加载的bean,因此无法访问它们

我试着从www.manning.com/panda下载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.MF
Application.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>
类是从以下源文件生成的:

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 {

}

嗯,找到了答案……我没有在sup-ejb.jar中包含
com.tomtresansky.sup.shared.Calculator
inferface


如果JBoss为缺少的类型提供了某种类型的错误消息,那就太好了…

这是否与/tmp目录中的坏数据有关?我也有同样的问题。你能和我共享你的测试应用程序吗?我有api jar、ejb和web模块。我想让ear包集成api jar和ejb模块,并在application.xml中提到了这一点,但它说的原因是:java.lang.RuntimeException:application.xml中列出的my-ejb.jar模块在.ear中不存在vfs:///opt/jboss-6.0.0.Final/server/default/deploy/my-ear-1.0-SNAPSHOT.ear/I 使用maven ear插件解决了这个问题(psst omg请不要将问题标记为“潜在重复”。请仅在100%完全重复的情况下进行标记。)
package com.tomtresansky.sup.server.ejb;

import javax.ejb.Local;

import com.tomtresansky.sup.shared.Calculator;

@Local
public interface CalculatorLocal extends Calculator {
}
package com.tomtresansky.sup.server.ejb;

import javax.ejb.Remote;

import com.tomtresansky.sup.shared.Calculator;

@Remote
public interface CalculatorRemote extends Calculator {

}