2

Maven を使用してプロジェクトを構築します。このプロジェクトには、「メイン」メソッドを持つ「アプリ」というクラスが 1 つだけ含まれています。コードは次のとおりです。

org.eclipse.jetty.server.Server server = new Server();
WebAppContext webContext = new WebAppContext("D:/webroot/webapp", "/web");
server.setHandler(webContext);
server.start();
System.in.read();

このアプリは Eclipse で正常に動作し、Web ページ (jsp) は Chrome で閲覧できます。

次に、このプロジェクトを「実行可能な JAR ファイル」にエクスポートし、「必要なライブラリを生成された JAR にパッケージ化する」オプションを使用し、Windows コンソールで jar ファイルを実行した後: java -jar app.jar

アプリは実行できますが、Chrome を使用して Web ページ (jsp) を参照すると、エラーが表示されます。

HTTP ERROR 500 /web/ へのアクセスに問題があります。理由: java.err.nojdk 原因:

org.apache.jasper.JasperException: org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:89) の java.err.nojdk org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:375) ) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116) で org.apache.jasper.compiler.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:198) で org.apache.jasper.compiler.Compiler. generateClass(Compiler.java:364)

では、Eclipse を使用せずに jetty サーバー アプリを実行するにはどうすればよいでしょうか。

4

4 に答える 4

1

JRE の代わりに JDK を使用する必要があるようですか? Eclipse には独自の jdk があります。

于 2012-06-19T03:35:40.503 に答える
0

Jetty を実行するために JRE の代わりに JDK を選択すると、これが解決されました。

を使用しjetty-distribution-7.6.13.v20130916ます。

于 2013-09-26T11:50:57.150 に答える