我使用SpringSource Tool Suite sts启动一个关于MVC的hello world示例。
档案 - >新 - >春天模板项目 - >然后选择Spring MVC Project
我添加项目名称:helloworld
并将顶级包指定为com.helloworld.myapp
然后完成。
现在我尝试运行该应用程序并选择Run on Server
它总是向我显示永久屏幕:所请求的资源(/helloworld/
)不可用。
服务器显示以下内容:
Nov 30, 2011 4:06:53 PM com.springsource.tcserver.security.PropertyDecoder <init> INFO: tc
运行时属性解码器使用基于内存的密钥2011年11月30日4:06:53 PM com.springsource.tcserver.security.PropertyDecoder INFO: tcServer运行时属性解码器已于11月183 ms初始化 30,2011 4:06:53 PM org.apache.coyote.AbstractProtocol init INFO: 初始化ProtocolHandler [&#34; http-bio-8080&#34;] 2011年11月30日下午4:06:53 com.springsource.tcserver.serviceability.rmi.JmxSocketListener init 信息:2011年11月30日63 ms,在127.0.0.1:6969启动JMX注册表 下午4:06:53 org.apache.catalina.startup.Catalina加载信息: 初始化处理时间为693 ms 2011年11月30日下午4:06:53 org.apache.catalina.core.StandardService startInternal INFO:正在启动 服务Catalina 2011年11月30日下午4:06:53 org.apache.catalina.core.StandardEngine startInternal INFO:正在启动 Servlet引擎:VMware vFabric tc运行时 2.6.1.RELEASE / 7.0.20.B.RELEASE 2011年11月30日下午4:06:53 org.apache.catalina.startup.HostConfig deployDescriptor INFO: 从中部署配置描述符insight.xml d:\ SpringSource的\的vFabric-TC-服务器开发人员2.6.1.RELEASE \春天洞察实例\的conf \卡塔利娜\本地主机 2011年11月30日下午4:06:53 com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader 启动信息:上下文[localhost | insight]将不会编织2011年11月30日 下午4:06:54 org.apache.catalina.core.ApplicationContext log INFO: 初始化Spring root WebApplicationContext 2011年11月30日下午4:07:04 org.apache.catalina.core.ApplicationContext log INFO:正在初始化 Spring FrameworkServlet&#39; Spring MVC Dispatcher Servlet&#39; 2011年11月30日 下午4:07:06 org.apache.catalina.startup.HostConfig deployDirectory 信息:部署Web应用程序目录管理器2011年11月30日4:07:06 下午 com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader 启动信息:上下文[localhost | manager]将不会编织2011年11月30日 下午4:07:06 org.apache.catalina.startup.HostConfig deployDirectory 信息:部署Web应用程序目录ROOT 2011年11月30日下午4:07:06 com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader 启动信息:上下文[localhost | ROOT]将不会编织2011年11月30日 4:07:06 PM org.apache.coyote.AbstractProtocol start INFO:Starting ProtocolHandler [&#34; http-bio-8080&#34;] 2011年11月30日下午4:07:06 org.apache.catalina.startup.Catalina启动INFO:服务器启动 12820 ms 2011年11月30日下午4:07:56 org.apache.catalina.startup.HostConfig deployDescriptor INFO: 从中部署配置描述符EchoSpringMVC.xml d:\ SpringSource的\的vFabric-TC-服务器开发人员2.6.1.RELEASE \春天洞察实例\的conf \卡塔利娜\本地主机 2011年11月30日下午4:07:56 org.apache.catalina.startup.SetContextPropertiesRule开始警告: [SetContextPropertiesRule] {Context}设置属性&#39; source&#39;至 &#39; org.eclipse.jst.jee.server:EchoSpringMVC&#39;没找到匹配的 属性。 2011年11月30日下午4:07:56 com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader 启动信息:上下文[localhost | EchoSpringMVC]将不会编织11月 30,2011 4:07:56 PM org.apache.catalina.core.StandardContext listenerStart SEVERE:将上下文初始化事件发送到的异常 监听器类的实例 org.springframework.web.context.ContextLoaderListener java.lang.NoClassDefFoundError:org / apache / log4j /等级at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:230)at at org.slf4j.LoggerFactory.bind(LoggerFactory.java:121)at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:112) 在org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:275) 在org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:248)at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) 在 org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131) 在org.apache.commons.logging.LogFactory.getLog(LogFactory.java:272) 在 org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:191) 在 org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723) 在 org.apache.catalina.core.StandardContext $ 1.call(StandardContext.java:5226) 在 org.apache.catalina.core.StandardContext $ 1.call(StandardContext.java:5221) at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:334) 在java.util.concurrent.FutureTask.run(FutureTask.java:166)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在 java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:603) 在java.lang.Thread.run(Thread.java:722)引起: java.lang.ClassNotFoundException:org.apache.log4j.Level at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) ......还有18个
2011年11月30日下午4:07:56 org.apache.catalina.core.StandardContext startInternal SEVERE:错误listenerStart 2011年11月30日下午4:07:56 org.apache.catalina.core.StandardContext startInternal SEVERE:Context [/ EchoSpringMVC]启动因2011年11月30日之前的错误而失败 下午4:07:56 org.apache.catalina.core.ApplicationContext log INFO: 关闭Spring root WebApplicationContext 2011年11月30日下午4:07:56 org.apache.catalina.core.StandardContext listenerStop SEVERE: 将上下文销毁事件发送到侦听器实例的异常 class org.springframework.web.context.ContextLoaderListener java.lang.ExceptionInInitializerError at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:80) 在 org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4763) 在 org.apache.catalina.core.StandardContext $ 4.run(StandardContext.java:5473) 在java.lang.Thread.run(Thread.java:722)引起: java.lang.IllegalStateException:org.slf4j.LoggerFactory不能 成功初始化。也可以看看 http://www.slf4j.org/codes.html#unsuccessfulInit at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:282)at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:248)at at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) 在 org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131) 在org.apache.commons.logging.LogFactory.getLog(LogFactory.java:272) 在 org.springframework.web.context.ContextCleanupListener。(ContextCleanupListener.java:43) ......还有4个
我哪里出错了? 请帮忙。
答案 0 :(得分:1)
我已经解决了在pom.xml中用1.2.16更改log4j 1.2.15
新依赖关系看起来像这样
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
<scope>runtime</scope>
</dependency>
这就是全部
答案 1 :(得分:0)
看起来你有这个例外:
https://issuetracker.springsource.com/browse/STS-2128
您的代码运行正常。这是WTP(Web工具项目)的缓存问题。干净的构建应该删除错误。