找不到javax.ejb包(Eclipse)

时间:2010-10-20 14:40:18

标签: eclipse java-ee ejb

我已经从Sun安装了Java for Java EE和Java EE SDK,并且我正在尝试创建(我的第一个)Java EE应用程序。

我创建了一个EJB项目,然后使用Eclipse自己的向导添加了一个会话bean,找不到包javax.ejb!

我已将Java EE SDK配置为目标运行时环境,并将JDK 1.6配置为JRE。

发生什么事了!?如果不是来自Java EE SDK或Eclipse for Java EE开发人员,那么这个包来自哪里!

6 个答案:

答案 0 :(得分:3)

我无法重现您的问题。我使用GlassFish生成了一个测试 EJB Project (这是你在Java EE SDK中得到的,对吗?)目标运行时

alt text

该项目肯定包含javax.ejb个类作为依赖:

alt text

答案 1 :(得分:1)

我假设你有使用Eclipse的Java EE开发工具的WTP。在项目属性中,选择Project Facets,确保已添加一个带有EJB支持的J2EE运行时(例如JBoss),然后为项目启用EJB Module facet。您也可以使用File / New ... / Project / EJB Project向导创建EJB项目,但您仍然需要添加EJB运行时,例如下载并安装JBoss服务器。

答案 2 :(得分:1)

javax.ejb包包含在带有ejb容器的服务器中。配置目标运行时后,在创建ejb项目时,程序包将添加到项目库中

答案 3 :(得分:1)

右键单击您的项目。 转到属性。 单击目标运行时。 检查JBoss运行时。 单击确定。

此jar位于服务器库中。

答案 4 :(得分:1)

标准Java下载不提供javax.ejb包。如果您的项目依赖于它,则需要明确下载相关的jar并将其放在构建路径中。此线程中的一些答案建议您下载应用程序服务器(glassfishjboss)特定的jar。那不太理想。您应该使用应用程序服务器不可知的工件来满足编译时依赖性。包含此包的标准工件是javaee-api。只需将它放在构建路径中,Eclipse就会停止抱怨。或者,如果您使用的是依赖管理工具(如Maven),请在POM中使用以下依赖项:

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>8.0</version>
    <scope>provided</scope>
</dependency>

答案 5 :(得分:0)

感谢帮助人员。是的,似乎Glassfish包含在Java EE SDK中(尽管这并不是很明显)。我认为问题在于,因为运行时没有正确地通过库(可能你需要在安装中选择'glassfish'子文件夹 - 尽管没有任何警告说这没有用)。 / p>

正如Pascal所提到的,我下载并安装了Glassfish 3本身和Glassfish'服务器适配器'(在添加新的服务器运行时环境时可用)。现在,在定位Glassfish运行时环境时,它促使我选择glassfish子文件夹,因此现在可以正常工作。

感谢您的帮助,这是一个陡峭的学习曲线...... :)