首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Groovlet + Tomcat:导入库时“无法解析类”

Groovlet + Tomcat:导入库时“无法解析类”
EN

Stack Overflow用户
提问于 2008-12-09 23:00:31
回答 2查看 4.6K关注 0票数 2

我在tomcat中运行一个导入库类的groovy servlet (groovlet)时遇到了一些问题。当我没有导入任何东西时,groovlet可以正常工作,但是如果我确实导入了一些我期望在类路径上的东西(我可以在常规的servlet中成功地导入相同的类),我会看到以下错误:

代码语言:javascript
复制
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的jar在shared/lib中,tomcat通过catalina.properties中的以下内容加载该jar

代码语言:javascript
复制
shared.loader=...,${catalina.base}/shared/lib/*.jar,...

我的groovlet按照应用程序web.xml中的user guide中的描述进行映射

代码语言:javascript
复制
<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

代码语言:javascript
复制
import com.mycompany.mypackage.MyLibraryClass
MyLibraryClass.someStaticMethod()

根据GroovyServlet API,我的groovlet被部署到WEB-INF/groovy/MyGroovlet.groovy

当我访问http://localhost:8080/myapplication/MyGroovlet.groovy时,前面描述的错误被写入我的应用程序日志。

有什么方法需要我显式地声明GroovyServlet的运行时类路径吗?我尝试将库jar移到几个地方,包括WEB-INF/lib,并将实际的MyLibraryClass.class文件移到WEB-INF/classes,但没有成功。

EN

回答 2

Stack Overflow用户

发布于 2009-02-25 01:50:19

我使用的是用于Eclipse的Groovy插件。在war文件中导出Groovlet也是可行的。

当我导出基于Groovlet的应用程序时,这个有用的插件将.groovy文件放入/WEB-INF/classes目录(在类路径中)。当我在Tomcat服务器中部署war文件时,它可以正常工作。

希望这能有所帮助。

致以问候。

票数 1
EN

Stack Overflow用户

发布于 2010-04-30 13:34:09

我犯的一个愚蠢的错误是,在加载复制到WEB-INF/lib中的jar之前,我需要重新加载webapp (即,要么重新启动整个Tomcat服务器,要么只从Tomcat管理器重新加载特定的应用程序)。在Tomcat/webapps/ dir中动态编辑.groovy文件,并看到页面的更新,立即让我产生了一切都会自动加载的感觉,但jars并非如此。这让人抓狂,直到我意识到发生了什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/354559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档