簡體   English   中英

碼頭服務器應用程序可以在Eclipse中運行,但不能在Windows Console中運行?

[英]a jetty server app can work in eclipse but can't in Windows Console?

我使用Maven構建了一個項目,該項目僅包含一個帶有“ main”方法的Class-“ App”,其代碼如下:

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中正常運行,並且可以在Chrome瀏覽器中瀏覽網頁(jsp)。

然后,使用選項“將所需的庫打包到生成的JAR中”,然后在Windows控制台中運行jar文件之后,將這個項目導出到“可運行的JAR文件”中:java -jar app.jar

該應用程序可以運行,但是當我使用Chrome瀏覽網頁(jsp)時,它告訴我一個錯誤:

HTTP錯誤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.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:198)的org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)處的org.apache.jasper.compiler.Compiler。 generateClass(Compiler.java:364)

那么,如何使Jetty服務器應用程序正常運行呢?

您可以嘗試這樣:在start.ini中,找到

Dorg.apache.jasper.compiler.disablejsr199=true

默認情況下啟用此配置。 您應該禁用它。

看來您應該使用JDK而不是JRE? Eclipse有自己的jdk。

我在Jetty 7.6.12.v20130726遇到了同樣的問題。 我切換到7.4.5.v20110725 ,問題消失了。

來源: http//dev.eclipse.org/mhonarc/lists/jetty-users/msg01588.html

選擇JDK而不是JRE來運行Jetty為我解決了這個問題。

使用jetty-distribution-7.6.13.v20130916

暫無
暫無

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

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