2016-03-05 37 views
-1

運行我的Web應用程序,我使用Spring MVC的 + 春季安全 + 休眠碼頭集裝箱打造我的Web應用程序。但是當我運行Jetty時出了點問題。 這裏是輸出:無法在碼頭

"C:\Program Files\Java\jdk1.8.0_65\bin\java" -DSTOP.PORT=0 -Dcom.sun.management.jmxremote= -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -DOPTIONS=jmx -Didea.launcher.port=7534 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0.4\bin" -Dfile.encoding=windows-1251 -classpath "D:\jetty-distribution-9.3.7.v20160115\start.jar;C:\Program Files\Java\jdk1.8.0_65\lib\tools.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0.4\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain org.eclipse.jetty.start.Main --module=jmx C:\Windows\Temp\context2config\jetty-contexts.xml 
[2016-03-05 03:34:45,214] Artifact DVDExchange:war exploded: Server is not connected. Deploy is not available. 
Detected server http port: 8080 
WARNING: System properties and/or JVM args set. Consider using --dry-run or --exec 
2016-03-05 15:34:45.818:INFO::main: Logging initialized @525ms 
2016-03-05 15:34:45.864:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended. See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html 
STOP.PORT=4813 
STOP.KEY=1nury94gxsbuo 
2016-03-05 15:34:46.006:INFO:oejs.Server:main: jetty-9.3.7.v20160115 
2016-03-05 15:34:46.025:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///D:/jetty-distribution-9.3.7.v20160115/webapps/] at interval 1 
2016-03-05 15:34:46.029:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///C:/Windows/Temp/context2deploy/] at interval 1 
2016-03-05 15:34:46.061:INFO:oejs.ServerConnector:main: Started [email protected]a0ac6e3{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} 
2016-03-05 15:34:46.061:INFO:oejs.Server:main: Started @767ms 
Connected to server 
[2016-03-05 03:34:46,298] Artifact DVDExchange:war exploded: Artifact is being deployed, please wait... 
2016-03-05 15:34:48.939:INFO:/:Scanner-1: No Spring WebApplicationInitializer types detected on classpath 
2016-03-05 15:34:49.269:INFO:/:Scanner-1: Initializing Spring root WebApplicationContext 
мар 05, 2016 3:34:49 PM org.springframework.web.context.ContextLoader initWebApplicationContext 
INFO: Root WebApplicationContext: initialization started 
мар 05, 2016 3:34:49 PM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh 
INFO: Refreshing Root WebApplicationContext: startup date [Sat Mar 05 15:34:49 YEKT 2016]; root of context hierarchy 
мар 05, 2016 3:34:49 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml] 
мар 05, 2016 3:34:49 PM org.springframework.web.context.ContextLoader initWebApplicationContext 
INFO: Root WebApplicationContext: initialization completed in 247 ms 
2016-03-05 15:34:49.575:INFO:/:Scanner-1: Initializing Spring FrameworkServlet 'dispatcher' 
мар 05, 2016 3:34:49 PM org.springframework.web.servlet.DispatcherServlet initServletBean 
INFO: FrameworkServlet 'dispatcher': initialization started 
мар 05, 2016 3:34:49 PM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh 
INFO: Refreshing WebApplicationContext for namespace 'dispatcher-servlet': startup date [Sat Mar 05 15:34:49 YEKT 2016]; parent: Root WebApplicationContext 
мар 05, 2016 3:34:49 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/dispatcher-servlet.xml] 
мар 05, 2016 3:34:49 PM org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping register 
INFO: Mapped "{[/],methods=[GET]}" onto public java.lang.String com.dvdexchange.SpringMVC.controller.MainController.home(org.springframework.ui.ModelMap) 
мар 05, 2016 3:34:49 PM org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter initControllerAdviceCache 
INFO: Looking for @ControllerAdvice: WebApplicationContext for namespace 'dispatcher-servlet': startup date [Sat Mar 05 15:34:49 YEKT 2016]; parent: Root WebApplicationContext 
мар 05, 2016 3:34:50 PM org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter initControllerAdviceCache 
INFO: Looking for @ControllerAdvice: WebApplicationContext for namespace 'dispatcher-servlet': startup date [Sat Mar 05 15:34:49 YEKT 2016]; parent: Root WebApplicationContext 
мар 05, 2016 3:34:50 PM org.springframework.web.servlet.handler.SimpleUrlHandlerMapping registerHandler 
INFO: Mapped URL path [/resources/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0' 
2016-03-05 15:34:50.053:WARN:oejd.DeploymentManager:Scanner-1: Unable to reach node goal: started 
java.lang.NoClassDefFoundError: org/hibernate/HibernateException 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 
    at java.lang.Class.getDeclaredMethods(Class.java:1975) 
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:609) 
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:521) 
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:507) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:241) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1069) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1042) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) 
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:667) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:633) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:681) 
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:552) 
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:493) 
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:244) 
    at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:640) 
    at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:419) 
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:875) 
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:350) 
    at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1379) 
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1341) 
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772) 
    at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:263) 
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:517) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 
    at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41) 
    at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188) 
    at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:499) 
    at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:147) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180) 
    at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:458) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64) 
    at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610) 
    at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529) 
    at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392) 
    at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:329) 
    at java.util.TimerThread.mainLoop(Timer.java:555) 
    at java.util.TimerThread.run(Timer.java:505) 
Caused by: 
java.lang.ClassNotFoundException: org.hibernate.HibernateException 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:487) 
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:428) 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 
    at java.lang.Class.getDeclaredMethods(Class.java:1975) 
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:609) 
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:521) 
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:507) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:241) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1069) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1042) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) 
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:667) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:633) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:681) 
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:552) 
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:493) 
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:244) 
    at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:640) 
    at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:419) 
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:875) 
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:350) 
    at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1379) 
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1341) 
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772) 
    at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:263) 
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:517) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 
    at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41) 
    at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188) 
    at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:499) 
    at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:147) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180) 
    at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:458) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64) 
    at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610) 
    at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529) 
    at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392) 
    at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:329) 
    at java.util.TimerThread.mainLoop(Timer.java:555) 
    at java.util.TimerThread.run(Timer.java:505) 
[2016-03-05 03:34:50,065] Artifact DVDExchange:war exploded: Error during artifact deployment. See server log for details. 


我不知道爲什麼它不工作的原因,但也許你能幫助我嗎?看看上面的輸出並分析它。只要我在調試方面缺乏足夠的經驗,我就無法通過適當的方式來做到這一點。我認爲這部分是最重要的

java.lang.NoClassDefFoundError: org/hibernate/HibernateException 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 
    at java.lang.Class.getDeclaredMethods(Class.java:1975) 
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:609) 
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:521) 
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:507) 
...... 
...... 


它告訴我們一些關於Hibernate是沒有找到。但我不知道究竟是什麼。包括Hibernate在內的所有框架依賴包都在pom.xml文件中(使用Maven)。

<dependencies> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${spring-framework-version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${spring-framework-version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${spring-framework-version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-web</artifactId> 
      <version>${spring-security-version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>5.1.0.Final</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hsqldb</groupId> 
      <artifactId>hsqldb</artifactId> 
      <version>2.3.3</version> 
     </dependency> 

    </dependencies> 


我用碼頭的IntelliJ IDEA的插件,配置這種方式
Server configuraton
Deployment configuraton

同時還有在我的上下文根輸出警告(見部署的conf以上)。

2016-03-05 15:34:45.864:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended. See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html 

我希望你們能幫我一把。 謝謝!

+0

您需要檢查jetty的classpath中是否有任何'hibernate-core-5.1.0.Final.jar'。 「HibernateException」駐留在該jar中。 –

回答

0

錯誤消息意味着.class文件在war文件中找不到您的web-app。您可以看到hibernate.jar文件是否存在於您的webapp文件夾WEB-INF\lib中。

解決方案(的IntelliJ):

  1. 打開您的項目結構。

  2. 從左側選項中選擇工件。

  3. 從「OutputLayout」選項卡中的戰爭文件瀏覽到WEB-INF/lib

  4. 將包含hibernate.jar的庫添加到該文件夾​​中。

  5. 重新部署您的項目。

也試試這個,去File -> Project Structure -> Libraries並添加具有JAR的目錄文件夾。這會將jar添加到你的類路徑中。

+1

你幫助我,所以我非常感謝。我接受了你的建議。非常感謝人!長命! :-) – IngeniousTom