Java 日食+;速度=HTTP状态500
我在尝试在Eclipse4.4(Luna)中运行最简单的Velocity项目时遇到了巨大的问题 我创建了一个运行在Tomcat7.0服务器上的动态web项目,该服务器已经在Eclipse中安装并启动 我向WebContent文件夹添加了一个简单的index.vm:Java 日食+;速度=HTTP状态500,java,eclipse,velocity,Java,Eclipse,Velocity,我在尝试在Eclipse4.4(Luna)中运行最简单的Velocity项目时遇到了巨大的问题 我创建了一个运行在Tomcat7.0服务器上的动态web项目,该服务器已经在Eclipse中安装并启动 我向WebContent文件夹添加了一个简单的index.vm: <html> <body> #set( $foo = "Velocity" ) Hello $foo World! </body> <html> #设置($foo=“速度”) 你好$
<html>
<body>
#set( $foo = "Velocity" )
Hello $foo World!
</body>
<html>
#设置($foo=“速度”)
你好$foo World!
我修改web.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"
version="2.5">
<display-name>Velocity_Test</display-name>
<welcome-file-list>
<welcome-file>index.vm</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>
org.apache.velocity.tools.view.servlet.VelocityViewServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
</web-app>
速度试验
index.vm
速度
org.apache.velocity.tools.view.servlet.VelocityViewServlet
速度
*.vm
没有使用init参数
问题似乎出在罐子上
我尝试将两个Velocity 1.7 JAR复制到WEB-INF/lib文件夹中
我尝试将JAR作为外部JAR添加到java构建路径属性中
我已尝试在部署程序集中添加对JAR的引用
然而,无论我尝试什么,结果总是:
HTTP状态500-实例化servlet类org.apache.velocity.tools.view.servlet.VelocityViewServlet时出错
例外情况:
javax.servlet.ServletException:实例化servlet类时出错
org.apache.velocity.tools.view.servlet.VelocityViewServlet
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
java.lang.Thread.run(未知源)
根本原因:
java.lang.ClassNotFoundException:
org.apache.velocity.tools.view.servlet.VelocityViewServlet
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
java.lang.Thread.run(未知源)
欢迎任何帮助
干杯,
丹尼斯原因是ClassNotFoundException。将依赖项添加到项目中。如果使用maven(或其他工具来构建项目),只需将依赖项添加到pom.xml文件中即可
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
org.apache.velocity
速度
1.7
发布完整的错误日志。并考虑使用maven之类的工具来构建和管理您的项目依赖关系。我在描述中添加了异常和根本原因。感谢您对此的评论。不幸的是,我无法在EclipseLuna4.4.2版本中使用Maven插件。我在这个问题上已经花了10个多小时,再也花不起时间了。如果在不使用Maven的情况下无法运行Velocity JAR,那么就这样吧。您可以在不使用Maven的情况下使用Velocity,但Maven可以简化依赖关系管理。这是日食问题吗?o Maven安装问题?我认为这是一个Maven安装问题。通过Eclipse接口安装Maven插件后,当我尝试创建新的Maven项目或尝试将现有项目转换为Maven项目时,会收到错误消息。