2014-04-08 8 views
6

Przede wszystkim chcę przeprosić za powielenie tematu, ale nie mogłem znaleźć odpowiedzi na moje pytanie.Błąd podczas tworzenia pierwszej aplikacji Hello world przy użyciu Spring mvc

Zacząłem dzisiaj ze sprężynowym mvc i mam pewne problemy z moją aplikacją "cześć świat". Czy ktoś może mi pomóc w uruchomieniu tego programu? Ponieważ postępowałem zgodnie z instrukcjami i nie mam pojęcia, jak rozwiązać ten problem.

This jest mój struktury projektu

enter image description here

klasa HelloController

package com.pluralsight.controller; 

import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.RequestMapping; 


@Controller 
public class HelloController { 

     @RequestMapping(value="/greeting.html") 
     public String sayHello(Model model){ 
     model.addAttribute("greeting","Hello world"); 

     return "hello"; 
     }  
    } 

hello.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title>Insert title here</title> 
</head> 
<body>  
    <h1>${greeting}</h1> 
</body> 
</html> 

servlet-config.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"> 

    <mvc:annotation-driven/> 
    <context:component-scan base-package="com.pluralsight.controller"/> 

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
    p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"></bean> 

</beans> 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 

    <!-- 1.create servlet --> 
    <servlet> 
     <!-- 1.1 we need a servlet name --> 
     <servlet-name>fitTrackerServlet</servlet-name> 
     <!-- 1.2 we need a servlet class --> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <!-- 1.3 we need to specify the configuration file (default) --> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/config/servlet-config.xml</param-value> 
     </init-param> 
    </servlet> 

    <!-- 2.servlet mapping --> 
    <servlet-mapping> 
     <servlet-name>fitTrackerServlet</servlet-name> 
     <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 

    <display-name>Archetype Created Web Application</display-name> 
</web-app> 

i pełne StackTrace

Apr 08, 2014 8:30:17 PM org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre8\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\app\Laura\product\12.1.0\dbhome_2\bin;D:\app\LauraPC\product\12.1.0\dbhome_1\bin;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files\apache-1.9.3\apache-ant-1.9.3\bin\;C:\Program Files\Java\jdk1.7.0_45\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\C:\Program Files\Java\jdk1.7.0_45\bin\javac\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Users\Laura\android-sdks\tools\;C:\Program Files\Java\jdk1.7.0_45\bin;. 
    Apr 08, 2014 8:30:17 PM org.apache.tomcat.util.digester.SetPropertiesRule begin 
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:FitTracker' did not find a matching property. 
    Apr 08, 2014 8:30:17 PM org.apache.coyote.AbstractProtocol init 
    INFO: Initializing ProtocolHandler ["http-bio-8080"] 
    Apr 08, 2014 8:30:17 PM org.apache.coyote.AbstractProtocol init 
    INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
    Apr 08, 2014 8:30:17 PM org.apache.catalina.startup.Catalina load 
    INFO: Initialization processed in 606 ms 
    Apr 08, 2014 8:30:17 PM org.apache.catalina.core.StandardService startInternal 
    INFO: Starting service Catalina 
    Apr 08, 2014 8:30:17 PM org.apache.catalina.core.StandardEngine startInternal 
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.47 
    Apr 08, 2014 8:30:19 PM org.apache.catalina.core.ApplicationContext log 
    INFO: No Spring WebApplicationInitializer types detected on classpath 
    Apr 08, 2014 8:30:19 PM org.apache.coyote.AbstractProtocol start 
    INFO: Starting ProtocolHandler ["http-bio-8080"] 
    Apr 08, 2014 8:30:19 PM org.apache.coyote.AbstractProtocol start 
    INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
    Apr 08, 2014 8:30:19 PM org.apache.catalina.startup.Catalina start 
    INFO: Server startup in 1225 ms 
    Apr 08, 2014 8:30:52 PM org.apache.catalina.core.ApplicationContext log 
    INFO: Initializing Spring FrameworkServlet 'fitTrackerServlet' 
    Apr 08, 2014 8:30:52 PM org.springframework.web.servlet.FrameworkServlet initServletBean 
    INFO: FrameworkServlet 'fitTrackerServlet': initialization started 
    Apr 08, 2014 8:30:52 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh 
    INFO: Refreshing WebApplicationContext for namespace 'fitTrackerServlet-servlet': startup date [Tue Apr 08 20:30:52 EEST 2014]; root of context hierarchy 
    Apr 08, 2014 8:30:52 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 
    INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/config/servlet-config.xml] 
    Apr 08, 2014 8:30:52 PM org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider registerDefaultFilters 
    INFO: JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning 
    Apr 08, 2014 8:30:52 PM org.springframework.web.servlet.FrameworkServlet initServletBean 
    SEVERE: Context initialization failed 
    java.lang.IllegalArgumentException 
     at org.springframework.asm.ClassReader.<init>(Unknown Source) 
     at org.springframework.asm.ClassReader.<init>(Unknown Source) 
     at org.springframework.asm.ClassReader.<init>(Unknown Source) 
     at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52) 
     at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80) 
     at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101) 
     at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:76) 
     at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:298) 
     at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300) 
     at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300) 
     at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:230) 
     at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:153) 
     at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:130) 
     at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:285) 
     at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:223) 
     at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:630) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461) 
     at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:647) 
     at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:598) 
     at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:661) 
     at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:517) 
     at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:458) 
     at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:138) 
     at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
     at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
     at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
     at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 
     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 

    Apr 08, 2014 8:30:52 PM org.apache.catalina.core.ApplicationContext log 
    SEVERE: StandardWrapper.Throwable 
    java.lang.IllegalArgumentException 
     at org.springframework.asm.ClassReader.<init>(Unknown Source) 
     at org.springframework.asm.ClassReader.<init>(Unknown Source) 
     at org.springframework.asm.ClassReader.<init>(Unknown Source) 
     at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52) 
     at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80) 
     at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101) 
     at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:76) 
     at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:298) 
     at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300) 
     at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300) 
     at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:230) 
     at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:153) 
     at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:130) 
     at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:285) 
     at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:223) 
     at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:630) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461) 
     at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:647) 
     at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:598) 
     at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:661) 
     at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:517) 
     at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:458) 
     at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:138) 
     at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
     at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
     at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
     at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 
     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 

    Apr 08, 2014 8:30:52 PM org.apache.catalina.core.StandardWrapperValve invoke 
    SEVERE: Allocate exception for servlet fitTrackerServlet 
    java.lang.IllegalArgumentException 
     at org.springframework.asm.ClassReader.<init>(Unknown Source) 
     at org.springframework.asm.ClassReader.<init>(Unknown Source) 
     at org.springframework.asm.ClassReader.<init>(Unknown Source) 
     at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52) 
     at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80) 
     at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101) 
     at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:76) 
     at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:298) 
     at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300) 
     at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300) 
     at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:230) 
     at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:153) 
     at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:130) 
     at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:285) 
     at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:223) 
     at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:630) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461) 
     at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:647) 
     at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:598) 
     at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:661) 
     at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:517) 
     at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:458) 
     at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:138) 
     at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
     at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
     at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
     at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 
     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 
+0

Którą wersję Spring używasz? Którą wersję Java używasz? –

+0

@SotiriosDelimanolis Używam Spring 3.5.0 i Java 8 – laura

Odpowiedz

14

Konstruktor ClassReader klasa pokazano w ślad stosu ma kawałek kodu skomentował w wersji 4+ (innymi słowy, jest to tam w wersji 3)

// checks the class version 
/* SPRING PATCH: REMOVED FOR JDK 1.8 BYTECODE COMPATIBILITY 
if (readShort(off + 6) > Opcodes.V1_7) { 
    throw new IllegalArgumentException(); 
} 
*/ 

Zasadniczo można Używa Java 8 ze Spring 3 (nie ma Spring 3.5.0). Uaktualnienie do sprężyna 4 lub downgrade do Java 7.

+0

Miałem na myśli zestaw narzędzi Spring 3.5.0 – laura

+0

@laura Jeśli otworzysz 'pom.xml', jaka wersja jest zależna od Spring? –

+0

' org.springframework \t wiosna-webmvc \t 3.2.0.RELEASE ' – laura