2013-04-24 30 views
8

Tôi đang cố gắng lưu trữ webapp (spring) của tôi trong máy chủ jetty. Tôi đã sao chép tệp chiến tranh của mình vào thư mục 'webapp' trong máy chủ cầu cảng. Tôi không cố gắng để nhúng các máy chủ cầu cảng, nhưng cố gắng để lưu trữ các ứng dụng trong cầu cảng (như tomcat).NoClassDefFoundError khi khởi động jetty Server

Tôi dint cài đặt cầu cảng, tôi vừa tải xuống zip jetty7 và trích xuất để lấy máy chủ.

Tôi cần thiết lập tính năng này trong 3 máy linux. Trong một máy, máy chủ chỉ khởi động tốt. Không có vấn đề gì.

Nhưng trong hai trường hợp khác, khi Máy chủ khởi động, nó sẽ hiển thị lỗi sau.

 
2013-04-24 18:52:59.540:INFO::started o.e.j.w.WebAppContext{/cpewebapp,file:/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 spring: java.lang.NoClassDefFoundError: org/springframework/web/context/support/DefaultWebEnvironment 
2013-04-24 18:52:59.648:WARN::FAILED o.e.j.w.WebAppContext{/cpewebapp,file:/tmp/jetty-0.0.0.0-9080-cpewebapp.war-_cpewebapp-any-/webapp/},/home/manooja/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::Unable to reach node goal: started 
java.lang.NoClassDefFoundError: org/springframework/web/context/support/DefaultWebEnvironment 
    at org.springframework.web.servlet.HttpServletBean.(HttpServletBean.java:90) 
    at org.springframework.web.servlet.FrameworkServlet.(FrameworkServlet.java:96) 
    at org.springframework.web.servlet.DispatcherServlet.(DispatcherServlet.java:128) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
    at java.lang.Class.newInstance0(Class.java:372) 
    at java.lang.Class.newInstance(Class.java:325) 
    at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:606) 
    at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:748) 
    at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:426) 
    at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:260) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:763) 
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:245) 
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1158) 
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:587) 
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:436) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36) 
    at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:180) 
    at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:482) 
    at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:135) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:137) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:50) 
    at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:601) 
    at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:531) 
    at org.eclipse.jetty.util.Scanner.scan(Scanner.java:394) 
    at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:329) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:114) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:543) 
    at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:218) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:41) 
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:50) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:94) 
    at org.eclipse.jetty.server.Server.doStart(Server.java:253) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1220) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1143) 
    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.eclipse.jetty.start.Main.invokeMain(Main.java:477) 
    at org.eclipse.jetty.start.Main.start(Main.java:623) 
    at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:273) 
    at org.eclipse.jetty.start.Main.main(Main.java:81) 
Caused by: 
java.lang.ClassNotFoundException: org.springframework.web.context.support.DefaultWebEnvironment 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:420) 
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:373) 
    at org.springframework.web.servlet.HttpServletBean.(HttpServletBean.java:90) 
    at org.springframework.web.servlet.FrameworkServlet.(FrameworkServlet.java:96) 
    at org.springframework.web.servlet.DispatcherServlet.(DispatcherServlet.java:128) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
    at java.lang.Class.newInstance0(Class.java:372) 
    at java.lang.Class.newInstance(Class.java:325) 
    at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:606) 
    at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:748) 
    at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:426) 
    at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:260) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:763) 
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:245) 
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1158) 
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:587) 
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:436) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36) 
    at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:180) 
    at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:482) 
    at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:135) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:137) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:50) 
    at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:601) 
    at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:531) 
    at org.eclipse.jetty.util.Scanner.scan(Scanner.java:394) 
    at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:329) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:114) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:543) 
    at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:218) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:41) 
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:50) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:94) 
    at org.eclipse.jetty.server.Server.doStart(Server.java:253) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58) 
    at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1220) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1143) 
    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.eclipse.jetty.start.Main.invokeMain(Main.java:477) 
    at org.eclipse.jetty.start.Main.start(Main.java:623) 
    at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:273) 
    at org.eclipse.jetty.start.Main.main(Main.java:81) 
2013-04-24 18:52:59.654:INFO::Deployable added: /home/manooja/jetty-hightide-7.4.0.v20110414/webapps/root 
2013-04-24 18:52:59.849:INFO::started o.e.j.w.WebAppContext{/,file:/home/manooja/jetty-hightide-7.4.0.v20110414/webapps/root/},/home/manooja/jetty-hightide-7.4.0.v20110414/webapps/root 
2013-04-24 18:52:59.861:INFO::Deployment monitor /home/manooja/jetty-hightide-7.4.0.v20110414/contexts at interval 1 
2013-04-24 18:52:59.950:INFO::Started [email protected]:9080 STARTING 

Vui lòng lưu ý rằng các cổng mặc định đã được thay đổi để 9080.

Tôi có một ý niệm mơ hồ rằng nó có thể có một số thay đổi cấu hình, vì nó đang làm việc tốt trong cùng một máy. Bạn có thể giúp tôi với hướng dẫn để giải quyết vấn đề này không?

java -jar start.jar --version

 

    Active Options: [Server, client, ext, jmx, jsp, resources, websocket] 
    Version Information on 25 entries in the classpath. 
    Note: order presented here is how they would appear on the classpath. 
      changes to the OPTIONS=[option,option,...] command line option will be reflected here. 
    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:    (dir) | ${jetty.home}/resources 
    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 
+0

Bạn đang xây dựng chiến tranh như thế nào? Có vẻ như org.springframework.web.context.support.DefaultWebEnvironment bị thiếu trong classpath ... có lẽ nó (sai) trên classpath của Jetty trên máy đang hoạt động? Có phải cái bình hỗ trợ mùa xuân thực sự nằm trong cuộc chiến không? – Stevie

+0

'ClassNotFoundException' có nghĩa là bạn đang thiếu một lớp từ classpath của bạn. Tìm jar chứa 'org.springframework.web.context.support.DefaultWebEnvironment' và thêm nó vào classpath của bạn. –

+0

@stevie Tôi đang sử dụng kiến ​​xây dựng để xây dựng chiến tranh. Tôi không muốn Cầu tàu tìm kiếm lớp học này. Lớp này thuộc về Spring M1 (cột mốc) Jar, không tốt cho sản xuất. Tôi đang sử dụng bình cứu trợ mùa xuân 3 để được hỗ trợ mùa xuân. – Auslay

Trả lời

4

Như Stevie chỉ ra trong các ý kiến, vấn đề là một tệp Jar bổ sung được đưa vào chiến tranh.

Tôi đã xóa Jar, trong trường hợp của tôi spring-webmvc-3.1.0.M1.jar, từ WEB-INF/lib và cầu tàu được khởi động lại. Nó bắt đầu hoạt động tốt.

Điều này đã không được chú ý khi nó xuất hiện trong thời gian biên dịch/xây dựng (có được đặt hàng trong nhật thực), cũng như nó không xuất hiện trong máy đầu tiên tôi triển khai.

Rất cám ơn sự giúp đỡ.

0

Bạn có thể thay đổi cấu hình dự án của mình, như tôi sử dụng maven như trang này. http://mvnrepository.com/artifact/redis.clients/jedis/2.8.1

Sau đó, khi bạn sử dụng "cập nhật dự án maven" trong eclipse et, nó sẽ tải xuống tệp jedis.jar và các tệp quan hệ khác cho trình biên dịch. Nó sẽ hoạt động trong cầu cảng để khắc phục sự cố.

+0

Chào mừng bạn đến với StackOverflow! Mặc dù điều này có thể cung cấp câu trả lời cho câu hỏi, bạn nên luôn tóm tắt nội dung của liên kết của mình, vì chúng có thể không khả dụng trong tương lai. Cảm ơn bạn! – Aurasphere

0

Trong trường hợp bạn sử dụng cầu nối trực tiếp như máy chủ tích hợp J2EE Eclipse, đôi khi, nó không tìm thấy một số thư viện (tôi không hiểu tại sao một số không được tìm thấy, chỉ một vài) và ném ngoại lệ loại (NoClassDefFound).

  • Vì vậy, bạn cần phải đặt trong nguồn dự án (thư mục WEB-INF): lọ bạn

  • khởi động lại máy chủ

  • nó đặt các lọ trong thời gian chạy WEB-INF: dữ liệu \ workspace.metadata.plugins \ org.eclipse.wst.server.core \ tmpX \ MyApp \ WEB-INF \ lib

  • và nó hoạt động.

Các vấn đề liên quan