(如果我的标题具有误导性/不正确,请提出更具描述性的内容,这是我能想到的最好的内容)
我已经使用 spring roo 创建了自己的网络应用程序,但尚未编辑任何代码。我正在使用 Maven 和 jetty 构建并运行 Web 应用程序。当我执行以下操作时,一切正常。
mvn jetty:run
然而,当我打包然后直接运行jar时,我遇到了一些奇怪的问题。
mvn package
java -jar target/dependency/jetty-runner.jar target/*.war
(与“mvn jetty:run-exploded”相同)
主页按预期加载,但是当我单击其中一个导航链接(以创建或列出我的模型)时,我最终会在浏览器中打印这些错误(http://localhost:8080/pages/main.jsf)
HTTP ERROR 500
Problem accessing /pages/main.jsf. Reason:
/pages/nameMeaning.xhtml @25,80 value="#{applicationBean.getColumnName(column)}" Error Parsing: #{applicationBean.getColumnName(column)}
Caused by:
javax.faces.view.facelets.TagAttributeException: /pages/nameMeaning.xhtml @25,80 value="#{applicationBean.getColumnName(column)}" Error Parsing: #{applicationBean.getColumnName(column)}
at com.sun.faces.facelets.tag.TagAttributeImpl.getValueExpression(TagAttributeImpl.java:401)
at com.sun.faces.facelets.tag.TagAttributeImpl.getValueExpression(TagAttributeImpl.java:351)
at com.sun.faces.facelets.tag.jsf.ValueHolderRule$DynamicValueExpressionMetadata.applyMetadata(ValueHolderRule.java:129)
at com.sun.faces.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:81)
at javax.faces.view.facelets.MetaTagHandler.setAttributes(MetaTagHandler.java:129)
at javax.faces.view.facelets.DelegatingMetaTagHandler.setAttributes(DelegatingMetaTagHandler.java:102)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.doNewComponentActions(ComponentTagHandlerDelegateImpl.java:398)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:159)
...
Caused by: javax.el.ELException: Error Parsing: #{applicationBean.getColumnName(column)}
at com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:171)
at com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:188)
at com.sun.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:232)
at com.sun.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:92)
at com.sun.faces.facelets.tag.TagAttributeImpl.getValueExpression(TagAttributeImpl.java:385)
... 95 more
Caused by: com.sun.el.parser.ParseException: Encountered "(" at line 1, column 32.
Was expecting one of:
"}" ...
"." ...
"[" ...
">" ...
"gt" ...
"<" ...
"lt" ...
">=" ...
"ge" ...
"<=" ...
"le" ...
"==" ...
"eq" ...
"!=" ...
"ne" ...
"&&" ...
"and" ...
"||" ...
"or" ...
"*" ...
"+" ...
"-" ...
"?" ...
"/" ...
"div" ...
"%" ...
"mod" ...
at com.sun.el.parser.ELParser.generateParseException(ELParser.java:1664)
at com.sun.el.parser.ELParser.jj_consume_token(ELParser.java:1544)
at com.sun.el.parser.ELParser.DeferredExpression(ELParser.java:147)
at com.sun.el.parser.ELParser.CompositeExpression(ELParser.java:74)
at com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:139)
... 99 more
Caused by:
请在此处查看 pom.xml 文件:http://pastebin.com/6aPpYP47 http://pastebin.com/6aPpYP47
看了你的pom.xml http://pastebin.com/6aPpYP47很明显,您正在运行不同版本的 Jetty。这可能是也可能不是问题的根本原因,但随着不同版本实现不同版本的 Servlet 容器规范,您可能会发现 Servlet 3.0 功能适用于 Jetty 8,但不适用于 Jetty 7(这是 Servlet 2.5 IIRC)
如果你查看你的插件配置:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.4.v20120524</version>
<configuration>
<webAppConfig>
<contextPath>/${project.name}</contextPath>
</webAppConfig>
</configuration>
</plugin>
你会注意到jetty:run
将使用 Jetty8.1.4.v20120524
而当你注入 jetty-runner 时
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals><goal>copy</goal></goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-runner</artifactId>
<version>7.4.5.v20110725</version>
<destFileName>jetty-runner.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
并运行java -jar jetty-runner.jar namename.war
你正在使用码头7.4.5.v20110725
正如其他人指出的那样,您正在使用 EL 2.2,这实际上是 Servlet 3.0 功能,因此也许您只需要升级到新版本的jetty runner http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.mortbay.jetty%22%20AND%20a%3A%22jetty-runner%22
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)