Cryptic jetty-maven-plugin错误消息'错误:PWC6117:文件“null”未找到'

时间:2011-07-07 09:10:33

标签: maven-2 jetty maven-jetty-plugin

我有一个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项目。

有什么想法吗?有没有人见过这个?

非常感谢提前!

3 个答案:

答案 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 来解决这个问题。