2015-04-23 5 views
1

У меня есть огромные проблемы, пытаясь получить простейший проект Velocity для запуска в Eclipse 4.4 (Luna).Eclipse + Velocity = HTTP Status 500

Я создал динамический веб-проект, запущенный на сервере Tomcat 7.0, который был настроен и запущен из Eclipse.

добавить простую index.vm в папку WebContent:

<html> 
<body> 
#set($foo = "Velocity") 
Hello $foo World! 
</body> 
<html> 

я изменить 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> 

Нет INIT-PARAMS не используются.

Проблема, похоже, связана с банками.

Я попытался скопировать две банки Velocity 1.7 в папку WEB-INF/lib.

Я попытался добавить банки в качестве внешних банок в свойствах пути построения java.

Я попытался добавить ссылки на банки в сборке развертывания.

Тем не менее, независимо от того, что я пытаюсь результат не всегда:

HTTP Status 500 - Ошибка экземпляра класса сервлета org.apache.velocity.tools.view.servlet.VelocityViewServlet

исключение:

javax.servlet.ServletException: Ошибка инстанцировании сервлет класса 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 (Неизвестный источник)

Любая помощь была бы рада приветствовать.

Приветствия, Деннис

+1

Опубликовать полный журнал ошибок. И подумайте об использовании такого инструмента, как maven, для создания и управления вашими зависимостями проекта. –

+0

Я добавил исключение и первопричину для описания. –

ответ

1

Причиной является ClassNotFoundException. Добавьте зависимости к проекту. Если вы используете maven (или другой инструмент для создания ваших проектов), то это просто, как добавление зависимости к файлу pom.xml.

<dependency> 
    <groupId>org.apache.velocity</groupId> 
    <artifactId>velocity</artifactId> 
    <version>1.7</version> 
</dependency> 
+0

Спасибо за ваши комментарии по этому поводу. К сожалению, мне не удалось заставить плагин Maven работать в моей Eclipse Luna 4.4.2 build. Я уже трачу более десяти часов на эту проблему и больше не могу позволить себе больше времени. Если невозможно запустить банкоматы Velocity без использования Maven, то пусть будет так. –

+0

Вы можете использовать Velocity без использования Maven, но maven упрощает управление зависимостями. Это проблема Eclipse? o проблема установки Maven? –

+0

Я считаю, что это проблема установки Maven. После установки плагина Maven через интерфейс Eclipse я получаю сообщения об ошибках, когда пытаюсь создать новый проект Maven или пытаюсь преобразовать существующий проект в проект Maven. –

Смежные вопросы