簡體   English   中英

在命令行中使用javac進行編譯時出現“package javax.inject不存在”錯誤

[英]“package javax.inject does not exist” error while compiling with javac in commandline

我正在邁出學習JSF的第一步。 我發現這本有趣的書名為“Core JavaServer Faces Third Edition”。

嘗試編譯第一個示例,您可以從http://horstmann.com/corejsf/下載源代碼。 當我在命令行上鍵入以下內容時

javac UserBean.java

我收到錯誤:

package javax.inject does not exist
package javax.enterprise.context doe not exist

我已經下載了Java EE,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>

谷歌搜索如何編譯上周的Java EE應用程序,但沒有任何有用的東西。

請有人幫我解決這個問題,我需要解決這個問題,以便我可以繼續學習JSF。

SP:在學習使用NetBeans編譯Java EE項目之前,我想學會簡單地編譯Java EE應用程序。 我更喜歡先學習使用GlassFish,然后我會考慮使用Tomcat。

還有一個問題; 使用Java EE和GlassFish服務器部署我的應用程序有什么區別?

您需要在編譯時類路徑中包含包含這些類的JAR文件。

在您使用GlassFish服務器的特定情況下,這是/glassfish/lib/javaee.jar 您可以將類路徑指定為javac命令的-cp (或-classpath )參數。 它是一個半分號的磁盤文件系統路徑字符串,指向JAR文件和/或類文件夾,它們應包含在編譯時類路徑中。

javac -cp /path/to/glassfish/lib/javaee.jar UserBean.java

一旦遇到import引用的未知類, javac就會查看它,以便它可以驗證您是否以正確的方式使用它。

這在技術上與Java EE無關。 這只是基本的Java。 我建議在深入了解Java EE之前先學習一下。

如果您使用的是IDE,那么只需將目標服務器作為“Targeted Runtime”附加到項目中即可。 然后,IDE將自動對構建路徑(編譯時類路徑)執行所有操作。

在netbeans 7.3中,您可以右鍵單擊項目查看器中的libraries文件夾,選擇“添加庫”選項,然后從列表中選擇“Java EE 6 API庫”。

在NetBeans IDE 8.0中,它與上面針對7.3版所描述的略有不同

  1. 右鍵單擊Java EE中的Libraries您的項目
  2. 選擇Import...
  3. 根據您使用的版本選擇Java EE 6 API LibraryJava EE 7 API Library
  4. 單擊“ Import Library按鈕
  5. 選擇剛剛導入的庫,然后按“ Add Library按鈕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM