2017-06-23 29 views
0

組み込みモードでJettyを起動してwarファイルを展開しようとしています。私はjetty libバージョン9.4.6を使用しています。組み込みモードでJettyを起動できません

Jettyを起動し、Webアプリケーションをデプロイするために、Gradleで作成した次のタスクがあります。

println 'Starting Jetty............' 
project.ext.server = new Server(); 
ServerConnector connector = new ServerConnector(project.ext.server); 
connector.setPort(jettyPort); 
project.ext.server.addConnector(connector); 

WebAppContext webapp = new WebAppContext() 
webapp.setContextPath('/') 
def warPath = 'build/libs/'; 
warPath += 'test-' + project.version + '.war'; 
println("Deploying WAR File : --> ${warPath}"); 
webapp.setWar(warPath) 

project.ext.server.setHandler(webapp); 
project.ext.server.start(); 
println 'Server started, waiting...' 
new StopMonitor(jettyStopPort, project.ext.server).start(); 
println 'Jetty started.' 

が、スクリプトの上に失敗しているスクリプトから

Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.jetty.server.session.SessionHandler

正確なラインは、私はスクリプトの中で、単一の行としてこのラインを保つ場合でも

WebAppContext webapp = new WebAppContext() 

で、次のエラーで失敗しますすべてを削除すると、私は同じエラーが発生します。

興味深いことに、不平を言っているクラスはjarファイルjetty-serverにあります。注:jetty 9.4でスクリプトを動作させるには、jetty 9.4で削除されたBlockingConnectotの代わりにServerConnectorクラスを使用する必要がありました。スクリプトの残りの部分は同じです。

なぜこれが失敗するのかわかりません。

+0

...でサンプルプロジェクトのためだ、これはどのような言語ですか? – ekaerovets

答えて

0

おそらく必要なjarファイルがありません。

からの多くを選択して、適切なビルドツールを使用することを強く推奨します。

ここで(ツリー形式で)jarファイルの依存関係のリストが

https://github.com/jetty-project/embedded-servlet-3.1

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ embedded-servlet-3.1 --- 
[INFO] org.eclipse.jetty.demo:embedded-servlet-3.1:war:1-SNAPSHOT 
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:compile 
[INFO] +- org.eclipse.jetty:jetty-webapp:jar:9.4.6.v20170531:compile 
[INFO] | +- org.eclipse.jetty:jetty-xml:jar:9.4.6.v20170531:compile 
[INFO] | | \- org.eclipse.jetty:jetty-util:jar:9.4.6.v20170531:compile 
[INFO] | \- org.eclipse.jetty:jetty-servlet:jar:9.4.6.v20170531:compile 
[INFO] |  \- org.eclipse.jetty:jetty-security:jar:9.4.6.v20170531:compile 
[INFO] |  \- org.eclipse.jetty:jetty-server:jar:9.4.6.v20170531:compile 
[INFO] |   +- org.eclipse.jetty:jetty-http:jar:9.4.6.v20170531:compile 
[INFO] |   \- org.eclipse.jetty:jetty-io:jar:9.4.6.v20170531:compile 
[INFO] \- org.eclipse.jetty:jetty-annotations:jar:9.4.6.v20170531:compile 
[INFO] +- org.eclipse.jetty:jetty-plus:jar:9.4.6.v20170531:compile 
[INFO] | \- org.eclipse.jetty:jetty-jndi:jar:9.4.6.v20170531:compile 
[INFO] +- javax.annotation:javax.annotation-api:jar:1.2:compile 
[INFO] +- org.ow2.asm:asm:jar:5.1:compile 
[INFO] \- org.ow2.asm:asm-commons:jar:5.1:compile 
[INFO]  \- org.ow2.asm:asm-tree:jar:5.1:compile 
+0

ありがとう、依存関係が問題を解決したのでservlet-apiを追加してください。それは既に過渡的な依存として存在していましたが、まだそれは機能していませんでした。 –

関連する問題