我正在和我的一位大学同事一起创建一个简单的JSF应用程序,当我从存储库中下载该应用程序时遇到了一些问题。当我将项目导入到CDIIDE8.0.1中时,程序在以下基于NetBeans的注释上不能正确编译:
@Named
@RequestScoped
public class LoginController implements Serializable {...它通知我,它找不到以下包:
import javax.enterprise.context.*;最初我以为我没有安装EJB和EAR插件,但是我安装了从netbeans网站下载的Java EE包。是否有任何其他的JAR,我可能遗漏了,导致这个特定的错误。
在我的同事本地机器上,一切都像预期的那样工作,没有任何问题,所以我不清楚为什么我的计算机上没有发生这种情况。
发布于 2014-12-14 12:22:22
是的,看起来这个netbeans版本缺少javax.enterprise包。以下是解决方案
1)如果使用的是maven项目,则添加javax.enterprise(cdi-api.jar)作为依赖项
2)对于其他项目,下载cdi-api.jar,在项目属性中添加为外部jar,即可启用CDI。
发布于 2017-03-11 14:30:46
是的,您需要包含另一个库。您正在使用属于Java EE的部分。默认情况下,java包含Java SE。所以你需要在你的项目中添加这个库。
去
项目属性->库->添加库-> Java EE Web 7 Api库
发布于 2014-12-12 03:25:30
我也有这个问题。glassfish库的结构有了一些改变,所以我们没有使用"Java EE from Glassfish“库,而是使用了"Java EE from API”库并对其进行了修复。
https://stackoverflow.com/questions/26038281
复制相似问题