我有一个Maven Webapp生成一个WAR文件。 我刚刚将我的Jetty插件升级到7.4.2.v20110526(从6.x开始)。我有以下设置:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.4.2.v20110526</version>
<executions>
<execution>
<id>jetty-run</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<connectors>
<connector implementation="${connector}">
<port>80</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
<webAppConfig>
<contextPath>/foo</contextPath>
</webAppConfig>
<webappDirectory>${project.build.directory}/foo</webappDirectory>
<scanIntervalSeconds>10</scanIntervalSeconds>
<systemProperties>
<systemProperty>
<name>logback.configurationFile</name>
<value>file:${basedir}/target/${project.artifactId}-${project.version}/WEB-INF/classes/logback.xml</value>
</systemProperty>
</systemProperties>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.13</version>
</dependency>
</dependencies>
</plugin>
对于一些我不清楚的原因,我不断收到以下隐藏的错误消息:
2011-07-07 11:51:16.431:WARN::Aliased resource: file:/java/foo/branches/stable/modules/foo-web/src/main/webapp/WEB-INF/jsps/main.jsp~=file:/java/foo/branches/stable/modules/foo-web/src/main/webapp/WEB-INF/jsps/main.jsp
2011-07-07 11:51:16.507:WARN::Aliased resource: file:/java/foo/branches/stable/modules/foo-web/src/main/webapp/WEB-INF/jsps/main.jsp~=file:/java/foo/branches/stable/modules/foo-web/src/main/webapp/WEB-INF/jsps/main.jsp
ERROR: PWC6117: File "null" not found
没有例外,但是我无法登录到webapp。
但是,如果我抓取生成的war文件并将其部署到干净的Jetty安装中,它就能完美运行。这是什么交易......?我的意思是,这曾经与6.x插件一起使用。没有代码会发生任何变化。
展开目录的内容与war文件中的内容完全相同 - 我检查过 - 没有丢失的文件或任何明显的差异。
这是一个Spring Web项目。
有什么想法吗?有没有人见过这个?
非常感谢提前!
答案 0 :(得分:7)
确保您的ModelAndView-s在控制器中正确映射:
return new ModelAndView("WEB-INF/jsps/main");
答案 1 :(得分:2)
就我而言,上面提供的@tftd解决方案没有用,所以我注释掉了 defaultHandler 属性,然后错误日志消失了。
<bean id="classNameControllerMappings"
class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
<property name="caseSensitive" value="true" />
<property name="order" value="2" />
<!--property name="defaultHandler">
<bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
</property-->
</bean>
答案 2 :(得分:0)
确保您已导入 org.springframework.web.servlet.ModelAndView 。一旦我通过导入 org.springframework.web.portlet.ModelAndView 来解决这个问题。