1

NetbeansとJSF、JPA、Primefacesを使用してアプリケーションを開発し、GlassFishサーバーで正常に動作します。Tomcatサーバーにデプロイしたかった。プロパティを使用してサーバーを変更しましたが、プロジェクトをクリーンアップして正常にビルドできません。サーバーを正しく変更するにはどうすればよいですか?

詳細 :

Netbeans 7.3

GlassFish 3.1

Tomcat 7

私はNetbeansでプロジェクトを開始しました。プロジェクトを右クリックすると、GlassFishがサーバーとして選択されます。右クリックして、[クリーンアンドビルド]を選択します。それは成功するようになります。右クリックして[実行]を選択します。Webアプリケーションは完全に実行を開始します。

次に、GlassFishを停止し、NetbeansサーバーウィンドウからTomcatを起動しました。

右クリックして、[プロジェクトのプロパティ]を選択します。サーバーをTomcatに変更しました。右クリックして[クリーンアンドビルド]を選択すると、このエラーが発生します。Distフォルダの作成もありません。

スタックトレースを以下に示します。

An annotation processor threw an uncaught exception.
Consult the following stack trace for details.
java.lang.RuntimeException: com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.faces.event.AjaxBehaviorEvent not found
at     org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.process(CanonicalModelProcessor.java:407)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:793)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:722)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1700(JavacProcessingEnvironment.java:97)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1029)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1163)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1108)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:824)
at com.sun.tools.javac.main.Main.compile(Main.java:439)
at com.sun.tools.javac.main.Main.compile(Main.java:353)
at com.sun.tools.javac.main.Main.compile(Main.java:342)
at com.sun.tools.javac.main.Main.compile(Main.java:333)
at com.sun.tools.javac.Main.compile(Main.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.tools.ant.taskdefs.compilers.Javac13.execute(Javac13.java:56)
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1153)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:930)
at org.netbeans.modules.java.source.ant.JavacTask.execute(JavacTask.java:145)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:392)
at org.apache.tools.ant.Target.performTasks(Target.java:413)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:283)
at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:541)
at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)
Caused by: com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.faces.event.AjaxBehaviorEvent not found
C:\Users\Buddhika\Documents\ho\HealthOffice\nbproject\build-impl.xml:887: The following error occurred while executing this line:
C:\Users\Buddhika\Documents\ho\HealthOffice\nbproject\build-impl.xml:309: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 2 seconds)
4

2 に答える 2

8

Glassfishは本格的なJavaEEWebアプリケーションサーバーであり、JSFがすでにバンドルされています。Tomcatは必要最低限​​のJSP/サーブレットコンテナであり、JavaEEにバンドルされているものは何も付属していません。JSF WebアプリケーションをTomcatにデプロイする場合、開発者はJSFライブラリをWebアプリケーション/WEB-INF/libまたはTomcatのいずれかで/lib単独で提供する必要があります。

この例外は、コードをコンパイルするためにJSF固有のクラスが見つからないことを通知しようとしているため、これを行っていないことを示しています。JSF 2.xをダウンロードjavax.faces.jarし、ファイルをwebapp/WEB-INF/libまたはTomcatにドロップする/libと、すべて設定されているはずです。

于 2012-11-24T04:16:15.127 に答える
0

Q:しかし、プロジェクトをクリーンにして正常にビルドすることはできません。

A:エラーメッセージはランタイムエラーを示していますね。

Q:正確に何が失敗しているのですか?Tomcat?.warをコンパイルしようとしていますか?IDEで開こうとしているだけですか?

Q:コンパイラの場合、どのようにコンパイルしますか?あなたのIDEから?ANTスクリプトから?他に何かありますか?

Q:IDEを使用していますか?どのような種類(NetBeansなど)とどのバージョンですか?

Q:どのプラットフォームですか?

また:

このリンクが該当するかどうかを確認してください。

于 2012-11-24T04:07:49.447 に答える