Groovlet + Tomcat: «не в состоянии решить класс» при импорте библиотек

голоса
1

У меня возникли некоторые проблемы с запуском заводного сервлета (Groovlet) в коте, который импортирует класс библиотеки. Когда я ничего не импортировать Groovlet работает правильно, но если я импортировать то, что я ожидал, чтобы быть на пути к классам (я могу импортировать один и тот же класс, успешно в обычном сервлете), я вижу следующее сообщение об ошибке:

groovy.util.ScriptException: Could not parse scriptName: /MyGroovlet.groovy
java.lang.RuntimeException: groovy.util.ScriptException: Could not parse scriptName: /MyGroovlet.groovy
    at groovy.servlet.GroovyServlet$1.call(GroovyServlet.java:123)
...
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, /MyGroovlet.groovy: 1: unable to resolve class com.mycompany.mypackage.MyLibraryClass
 @ line 1, column 1.

Сосуд , содержащий MyLibraryClassв shared/lib, который загружается котом следующим в catalina.properties:

shared.loader=...,${catalina.base}/shared/lib/*.jar,...

Мои Groovlets отображаются , как описаны в руководстве пользователя в моем приложении web.xml:

<servlet>
    <servlet-name>GroovyServlet</servlet-name>
    <servlet-class>groovy.servlet.GroovyServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>GroovyServlet</servlet-name>
    <url-pattern>*.groovy</url-pattern>
</servlet-mapping>

А вот код для Groovlet, MyGroovlet.groovy:

import com.mycompany.mypackage.MyLibraryClass
MyLibraryClass.someStaticMethod()

Мой Groovlet развернут WEB-INF/groovy/MyGroovlet.groovy, согласно API GroovyServlet .

Когда я посещаю http://localhost:8080/myapplication/MyGroovlet.groovy, ошибки , описанные ранее написана в мои журналы приложений.

Есть ли какой - нибудь способ , что мне нужно явно объявить выполнения классов для GroovyServlet? Я попытался переместить библиотеку баночки нескольких мест, в том числе WEB-INF/libи перемещение фактического MyLibraryClass.classфайла WEB-INF/classes, но не повез.

Задан 10/12/2008 в 00:00
источник пользователем
На других языках...                            


2 ответов

голоса
1

Я использую Groovy плагин для Eclipse. Экспорт Groovlets в войне файл так же работает.

Когда я экспортировать свою Groovlet-приложение, это полезно плагин помещает .groovy файлы в каталоге / WEB-INF / классов (в пути к классам). И это работает, когда я развернуть архив войны в моей Tomcat Server.

Надеюсь, что это помогает.

С уважением.

Ответил 25/02/2009 в 02:50
источник пользователем

голоса
0

Глупая ошибка, которую я сделал, что мне нужно перезагрузить веб-приложение перед банкой я скопировал в WEB-INF / Lib будет загружен (то есть либо перезапуск всего сервера Tomcat или перезагрузить только конкретное приложение из диспетчера Tomcat). Динамическое редактирование .groovy файлов прямо в Tomcat / WebApps / реж и видеть обновления страниц сразу усыпили меня в чувство, что все будет автоматически загружен, но не так с банками. Это сводило с ума, пока я не понял, что происходит.

Ответил 30/04/2010 в 06:34
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more