2012-09-06 2 views
9

私はJSFを学ぶための第一歩を踏み出しています。私はこの「Core JavaServer Faces Third Edition」という興味深い本を見つけました。コマンドラインでjavacを使用してコンパイルする際に、「パッケージjavax.injectが存在しません」というエラーが発生しました

最初の例をコンパイルしようとすると、ソースコードをhttp://horstmann.com/corejsf/からダウンロードできます。私は、コマンドライン

javac UserBean.java 

で次のように入力すると、私はエラーを取得:

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

私は、Java EE、アリと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を学ぶために前進することができます。

S.P: NetBeansでJava EEプロジェクトをコンパイルする前に、Java EEアプリケーションを素早くコンパイルする方法を学びたいと思います。 私はGlassFishで最初に仕事をすることを好むかもしれません。

もう1つ質問があります。 Java EEとGlassFishサーバーを使用してアプリケーションを配備することの違いは何ですか?

+0

JSF 2.xおよびGlassFish 3.xまたは別のJava EE 6 Webアプリケーションサーバーを使用しており、プロジェクトでGlassFishライブラリを参照していることを確認してください。 –

答えて

10

これらのクラスを含むJARファイルをコンパイル時クラスパスに含める必要があります。

GlassFishサーバーの特定のケースでは、それは/glassfish/lib/javaee.jarです。クラスパスは、javacコマンドの-cp(または-classpath)引数として指定できます。これは、コンパイル時のクラスパスに含める必要があるJARファイルおよび/またはクラスフォルダを指すディスクファイルシステムパスのセミコロンで区切られた文字列です。

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

javacそれがimportによって参照され、未知のクラスを検出した後、あなたはそれを右の方法を使用した場合、それは他の人の間で確認することができるように、その後、そこになります。

これは技術的にJava EEとは関係ありません。これはちょうど基本的なJavaです。 Java EEに入る前にまずそれを学ぶことをお勧めします。

IDEを使用している場合は、ターゲットサーバを「ターゲットランタイム」としてプロジェクトに接続するだけです。 IDEは自動的にビルドパス(コンパイル時のクラスパス)に関してすべての魔法を実行します。

8

netbeans 7.3では、プロジェクトビューアのライブラリフォルダを右クリックし、[ライブラリを追加]オプションを選択し、リストから[Java EE 6 APIライブラリ]を選択します。

+0

Netbeans 7.3を使用しないとどうなりますか? – NREZ

+0

@NREZ Eclipseにも同様の機能があると確信しています。 JARを追加するのは簡単な方法です。 – Thufir

2

NetBeans IDE 8.0では、バージョン7では上記と若干異なります。3

  1. 右プロジェクト
  2. Import...
  3. を選択したJava EEにLibrariesをクリックして、使用しているバージョンによってJava EE 6 API LibraryまたはJava EE 7 API Libraryのいずれかを選択してください。
  4. Import Libraryボタン
  5. インポートしたライブラリを選択し、Add Libraryボタンを押します。
+1

NetBeans IDE 8.0でうまく動作しました:) –

関連する問題