Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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
&引用;包javax.inject不存在;在命令行中使用javac编译时出错_Java_Jakarta Ee_Glassfish_Javac - Fatal编程技术网

&引用;包javax.inject不存在;在命令行中使用javac编译时出错

&引用;包javax.inject不存在;在命令行中使用javac编译时出错,java,jakarta-ee,glassfish,javac,Java,Jakarta Ee,Glassfish,Javac,我正朝着学习JSF迈出第一步。我发现了这本有趣的书,叫做《CoreJavaServerFaces第三版》 尝试编译第一个示例时,可以从以下位置下载源代码:。当我在命令行上键入以下内容时 javac UserBean.java 我发现错误: package javax.inject does not exist package javax.enterprise.context doe not exist 我已经下载了JavaEE、Ant和GlassFish 以下是我的命令行快照: C:\JSF

我正朝着学习JSF迈出第一步。我发现了这本有趣的书,叫做《CoreJavaServerFaces第三版》

尝试编译第一个示例时,可以从以下位置下载源代码:。当我在命令行上键入以下内容时

javac UserBean.java
我发现错误:

package javax.inject does not exist
package javax.enterprise.context doe not exist
我已经下载了JavaEE、Ant和GlassFish

以下是我的命令行快照:

C:\JSF-Tutorial\corejsf3-examples\javaee\ch01\login\src\java\com\corejsf>javac UserBean.java
UserBean.java:4: error: package javax.inject does not exist
import javax.inject.Named;
                   ^
UserBean.java:6: error: package javax.enterprise.context does not exist
import javax.enterprise.context.SessionScoped;
                               ^
UserBean.java:9: error: cannot find symbol
@Named("user") // or @ManagedBean(name="user")
 ^
  symbol: class Named
UserBean.java:10: error: cannot find symbol
@SessionScoped
 ^
  symbol: class SessionScoped
4 errors

C:\JSF-Tutorial\corejsf3-examples\javaee\ch01\login\src\java\com\corejsf>
上周,谷歌一直在搜索如何编译JavaEE应用程序,但没有任何有用的东西

有人能帮我解决这个问题吗?我需要解决这个问题,这样我才能继续学习JSF

标准普尔: 在使用NetBeans编译javaee项目之前,我想学习如何徒手编译javaee应用程序。 我更喜欢先学习与玻璃鱼一起工作,也许以后我会考虑Tomcat。< /P>
还有一个问题;使用JavaEE和GlassFish服务器部署我的应用程序有什么区别?

您需要在编译时类路径中包含包含这些类的JAR文件

在GlassFish服务器的特定情况下,就是
/GlassFish/lib/javaee.jar
。您可以将类路径指定为
javac
命令的
-cp
(或
-classpath
)参数。它是一个分号分隔的磁盘文件系统路径字符串,指向应包含在编译时类路径中的JAR文件和/或类文件夹

javac-cp/path/to/glassfish/lib/javaee.jar UserBean.java
javac
一旦遇到一个由
import
引用的未知类,就会在那里查看,这样它就可以验证您是否正确使用了它

这在技术上与JavaEE无关。这只是基本的Java。我建议在深入JavaEE之前先学习这一点


如果您使用的是IDE,那么只需将目标服务器作为“目标运行时”附加到项目中即可。然后IDE将自动执行构建路径(编译时类路径)的所有功能。

在netbeans 7.3中,您可以右键单击project viewer中的libraries文件夹,选择“add library”选项,然后从列表中选择“Java EE 6 API library”。

在netbeans IDE 8.0中,它与上述版本7.3略有不同

  • 右键单击项目中的
  • 选择导入…
  • 根据您使用的版本,选择
    JavaEE6API库
    JavaEE7API库
  • 单击导入库按钮
  • 选择刚导入的库,然后按添加库按钮

  • 确保您正在使用JSF 2.x和GlassFish 3.x或其他Java EE 6 Web应用程序服务器,并且您的项目正在引用您的GlassFish库。如果我不使用Netbeans 7.3会怎么样?@NREZ我确信Eclipse具有类似的功能。这只是添加JAR的一种简单方法。对于NetBeans IDE 8.0来说效果很好:)