10

jetty サーバーで webapp (春) をホストしようとしています。war ファイルを jetty サーバーの「webapp」フォルダーにコピーしました。私は桟橋サーバーを埋め込もうとしているのではなく、桟橋内でアプリをホストしようとしています (Tomcat のように)。

jetty をインストールしません。jetty7 zip をダウンロードして展開し、サーバーを取得しました。

これを 3 台の Linux マシンにセットアップする必要があります。1 台のマシンでは、サーバーは正常に起動しています。問題はありません。

しかし、他の 2 つでは、サーバーの起動時に次のエラーが表示されます。

2013-04-24 18:52:59.540:INFO:: oejwWebAppContext を開始しました{/cpewebapp、ファイル:/tmp/jetty-0.0.0.0-9080-cpewebapp.war-_cpewebapp-any-/webapp/}、/home/manooja /jetty-hightide-7.4.0.v20110414/webapps/cpewebapp.war
2013-04-24 18:52:59.648:WARN::FAILED 春: java.lang.NoClassDefFoundError: org/springframework/web/context/support/DefaultWebEnvironment
2013-04-24 18:52:59.648: 警告:: 失敗しました/jetty-hightide-7.4.0.v20110414/webapps/cpewebapp.war: java.lang.NoClassDefFoundError: org/springframework/web/context/support/DefaultWebEnvironment
2013-04-24 18:52:59.649:WARN::ノードの目標に到達できません:開始しました
java.lang.NoClassDefFoundError: org/springframework/web/context/support/DefaultWebEnvironment
    org.springframework.web.servlet.HttpServletBean.(HttpServletBean.java:90) で
    org.springframework.web.servlet.FrameworkServlet.(FrameworkServlet.java:96) で
    org.springframework.web.servlet.DispatcherServlet.(DispatcherServlet.java:128) で
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブメソッド)
    sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:57) で
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) で
    java.lang.reflect.Constructor.newInstance (Constructor.java:525) で
    java.lang.Class.newInstance0 (Class.java:372) で
    java.lang.Class.newInstance (Class.java:325) で
    org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:606) で
    org.eclipse.jetty.servlet.ServletHolder.newInstance (ServletHolder.java:748) で
    org.eclipse.jetty.servlet.ServletHolder.initServlet (ServletHolder.java:426) で
    org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:260) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:763)で
    org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:245) で
    org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1158) で
    org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:587) で
    org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:436) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36) で
    org.eclipse.jetty.deploy.AppLifeCycle.runBindings (AppLifeCycle.java:180) で
    org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:482) で
    org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:135) で
    org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded (ScanningAppProvider.java:137) で
    org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:50) で
    org.eclipse.jetty.util.Scanner.reportAddition (Scanner.java:601) で
    org.eclipse.jetty.util.Scanner.reportDifferences (Scanner.java:531) で
    org.eclipse.jetty.util.Scanner.scan(Scanner.java:394) で
    org.eclipse.jetty.util.Scanner.doStart(Scanner.java:329) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:114) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:543) で
    org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:218) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.util.component.AggregateLifeCycle.doStart (AggregateLifeCycle.java:41) で
    org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:50) で
    org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:94) で
    org.eclipse.jetty.server.Server.doStart(Server.java:253) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1220) で
    java.security.AccessController.doPrivileged(ネイティブメソッド)で
    org.eclipse.jetty.xml.XmlConfiguration.main (XmlConfiguration.java:1143) で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で
    java.lang.reflect.Method.invoke(Method.java:601) で
    org.eclipse.jetty.start.Main.invokeMain (Main.java:477) で
    org.eclipse.jetty.start.Main.start(Main.java:623) で
    org.eclipse.jetty.start.Main.parseCommandLine (Main.java:273) で
    org.eclipse.jetty.start.Main.main (Main.java:81) で
のせいで:
java.lang.ClassNotFoundException: org.springframework.web.context.support.DefaultWebEnvironment
    java.net.URLClassLoader$1.run(URLClassLoader.java:366) で
    java.net.URLClassLoader$1.run(URLClassLoader.java:355) で
    java.security.AccessController.doPrivileged(ネイティブメソッド)で
    java.net.URLClassLoader.findClass(URLClassLoader.java:354) で
    java.lang.ClassLoader.loadClass(ClassLoader.java:423) で
    java.lang.ClassLoader.loadClass(ClassLoader.java:356) で
    org.eclipse.jetty.webapp.WebAppClassLoader.loadClass (WebAppClassLoader.java:420) で
    org.eclipse.jetty.webapp.WebAppClassLoader.loadClass (WebAppClassLoader.java:373) で
    org.springframework.web.servlet.HttpServletBean.(HttpServletBean.java:90) で
    org.springframework.web.servlet.FrameworkServlet.(FrameworkServlet.java:96) で
    org.springframework.web.servlet.DispatcherServlet.(DispatcherServlet.java:128) で
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブメソッド)
    sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:57) で
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) で
    java.lang.reflect.Constructor.newInstance (Constructor.java:525) で
    java.lang.Class.newInstance0 (Class.java:372) で
    java.lang.Class.newInstance (Class.java:325) で
    org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:606) で
    org.eclipse.jetty.servlet.ServletHolder.newInstance (ServletHolder.java:748) で
    org.eclipse.jetty.servlet.ServletHolder.initServlet (ServletHolder.java:426) で
    org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:260) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:763)で
    org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:245) で
    org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1158) で
    org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:587) で
    org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:436) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36) で
    org.eclipse.jetty.deploy.AppLifeCycle.runBindings (AppLifeCycle.java:180) で
    org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:482) で
    org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:135) で
    org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded (ScanningAppProvider.java:137) で
    org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:50) で
    org.eclipse.jetty.util.Scanner.reportAddition (Scanner.java:601) で
    org.eclipse.jetty.util.Scanner.reportDifferences (Scanner.java:531) で
    org.eclipse.jetty.util.Scanner.scan(Scanner.java:394) で
    org.eclipse.jetty.util.Scanner.doStart(Scanner.java:329) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:114) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:543) で
    org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:218) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.util.component.AggregateLifeCycle.doStart (AggregateLifeCycle.java:41) で
    org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:50) で
    org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:94) で
    org.eclipse.jetty.server.Server.doStart(Server.java:253) で
    org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:58) で
    org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1220) で
    java.security.AccessController.doPrivileged(ネイティブメソッド)で
    org.eclipse.jetty.xml.XmlConfiguration.main (XmlConfiguration.java:1143) で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で
    java.lang.reflect.Method.invoke(Method.java:601) で
    org.eclipse.jetty.start.Main.invokeMain (Main.java:477) で
    org.eclipse.jetty.start.Main.start(Main.java:623) で
    org.eclipse.jetty.start.Main.parseCommandLine (Main.java:273) で
    org.eclipse.jetty.start.Main.main (Main.java:81) で
2013-04-24 18:52:59.654:INFO::Deployable が追加されました: /home/manooja/jetty-hightide-7.4.0.v20110414/webapps/root
2013-04-24 18:52:59.849:INFO::開始された oejwWebAppContext{/、ファイル:/home/manooja/jetty-hightide-7.4.0.v20110414/webapps/root/}、/home/manooja/jetty-hightide -7.4.0.v20110414/webapps/ルート
2013-04-24 18:52:59.861:INFO::展開モニター /home/manooja/jetty-hightide-7.4.0.v20110414/contexts 間隔 1
2013-04-24 18:52:59.950:INFO::開始 SelectChannelConnector@0.0.0.0:9080 開始

デフォルトのポートが 9080 に変更されていることに注意してください。

1台のマシンで正常に動作しているため、構成の変更が原因である可能性があると考えています。これを解決するためのガイダンスを教えてください。

java -jar start.jar --version

    有効なオプション: [サーバー、クライアント、ext、jmx、jsp、リソース、websocket]
    クラスパス内の 25 エントリのバージョン情報。
    注: ここに示す順序は、クラスパスでの表示方法です。
          OPTIONS=[option,option,...] コマンド ライン オプションへの変更は、ここに反映されます。
     0: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-xml-9.0.2.v20130417.jar
     1: 3.0.0.v201112011016 | ${jetty.home}/lib/servlet-api-3.0.jar
     2: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-http-9.0.2.v20130417.jar
     3: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-continuation-9.0.2.v20130417.jar
     4: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-server-9.0.2.v20130417.jar
     5: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-security-9.0.2.v20130417.jar
     6: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-servlet-9.0.2.v20130417.jar
     7: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-webapp-9.0.2.v20130417.jar
     8: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-deploy-9.0.2.v20130417.jar
     9: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-client-9.0.2.v20130417.jar
    10: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-jmx-9.0.2.v20130417.jar
    11: 2.2.0.v201303151357 | ${jetty.home}/lib/jsp/com.sun.el-2.2.0.v201303151357.jar
    12: 2.2.0.v201303151357 | ${jetty.home}/lib/jsp/javax.el-2.2.0.v201303151357.jar
    13: 1.2.0.v201105211821 | ${jetty.home}/lib/jsp/javax.servlet.jsp.jstl-1.2.0.v201105211821.jar
    14: 2.2.0.v201112011158 | ${jetty.home}/lib/jsp/javax.servlet.jsp-2.2.0.v201112011158.jar
    15: 2.2.2.v201112011158 | ${jetty.home}/lib/jsp/org.apache.jasper.glassfish-2.2.2.v201112011158.jar
    16: 1.2.0.v201112081803 | ${jetty.home}/lib/jsp/org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar
    17: 3.8.2.v20130121-145325 | ${jetty.home}/lib/jsp/org.eclipse.jdt.core-3.8.2.v20130121.jar
    18: (ディレクトリ) | ${jetty.home}/リソース
    19: 9.0.2.v20130417 | ${jetty.home}/lib/websocket/websocket-api-9.0.2.v20130417.jar
    20: 9.0.2.v20130417 | ${jetty.home}/lib/websocket/websocket-common-9.0.2.v20130417.jar
    21: 9.0.2.v20130417 | ${jetty.home}/lib/websocket/websocket-server-9.0.2.v20130417.jar
    22: 9.0.2.v20130417 | ${jetty.home}/lib/websocket/websocket-servlet-9.0.2.v20130417.jar
    23: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-util-9.0.2.v20130417.jar
    24: 9.0.2.v20130417 | ${jetty.home}/lib/jetty-io-9.0.2.v20130417.jar

dir ./WEB-INF/lib/

antlr-2.7.6.jar
aopalliance-1.0.jar
bcprov-jdk15on-148.jar
c3p0-0.9.1.jar
commons-collections-3.2.1.jar
commons-dbcp-1.3.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
commons-pool-1.5.4.jar
cpewebapp.jar
displaytag-1.2.jar
dom4j-1.6.1.jar
gson-1.6.jar
hibernate-commons-annotations-3.2.0.Final.jar
hibernate-core-3.6.4.Final.jar
hibernate-entitymanager-3.6.4.Final.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
hibernate-validator-4.2.0.Final.jar
jackson-core-asl-1.8.0.jar
jackson-mapper-asl-1.8.0.jar
javassist-3.12.0.GA.jar
json.jar
jta.jar
log4j-1.2.16.jar
servlet-2.3.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
spring-aop-3.1.0.RELEASE.jar
spring-asm-3.1.0.RELEASE.jar
spring-beans-3.1.0.RELEASE.jar
spring-context-3.1.0.RELEASE.jar
spring-context-support-3.1.0.RELEASE.jar
spring-core-3.1.0.RELEASE.jar
spring-expression-3.1.0.RELEASE.jar
spring-jdbc-3.1.0.RELEASE.jar
spring-ldap-core-1.3.0.RELEASE.jar
spring-ldap-core-tiger-1.3.0.RELEASE.jar
spring-orm-3.1.0.RELEASE.jar
spring-oxm-3.1.0.RELEASE.jar
spring-security-config-3.1.0.RELEASE.jar
spring-security-core-3.1.0.RELEASE.jar
spring-security-ldap-3.1.0.RELEASE.jar
spring-security-web-3.1.0.RELEASE.jar
spring-tx-3.1.0.RELEASE.jar
spring-web-3.1.0.RELEASE.jar
spring-webmvc-3.1.0.M1.jar
spring-web-servlet-3.1.0.RELEASE.jar
sqlite-jdbc-3.7.2.jar
velocity-1.6.2.jar
velocity-tools-view-2.0.jar
4

3 に答える 3

4

スティービーがコメントで指摘したように、問題は戦争に巻き込まれた追加の Jar ファイルでした。

私の場合spring-webmvc-3.1.0.M1.jar、 Jar を削除し、 WEB-INF/libjetty を再起動しました。正常に起動しました。

これは、コンパイル/ビルド時に表示されないため (Eclipse で jar を注文した場合)、気付かれず、デプロイした最初のマシンにも表示されませんでした。

助けてくれてありがとう。

于 2013-04-25T15:36:17.617 に答える
0

Eclipse J2EE 統合サーバーとして直接 jetty を使用する場合、いくつかのライブラリーが見つからない場合があり (いくつかのライブラリーが見つからない理由がわかりません)、この種の例外 (NoClassDefFound) がスローされます。

  • したがって、プロジェクト ソース (ディレクトリ WEB-INF) に配置する必要があります。

  • サーバーを再起動します

  • jar をランタイム WEB-INF に配置します: Data\workspace.metadata.plugins\org.eclipse.wst.server.core\tmpX\MyApp\WEB-INF\lib

  • そしてそれは動作します。

于 2017-11-16T21:22:19.540 に答える