Groovy无法读取.groovy/lib中的jar文件

3
我在使用jar包和Groovy时遇到了问题。举几个具体的例子,我正在尝试连接到一个PostgreSQL数据库,当使用以下代码时: sql = Sql.newInstance("jdbc:postgresql://localhost", "user", "pass", "org.postgresql.Driver") 我会得到一个 org.postgresql.Driver 的 ClassNotFound 异常。我将postgresql jar包放在 ${user.home}/.groovy/lib 目录下,并且 groovy-starter.conf 中加载该目录的行没有被注释掉。我还遇到了与 dbunit.jar 文件类似的问题。
如果我尝试手动使用 groovy -cp 添加类路径,则会出现以下错误: Caught: java.io.UnsupportedEncodingException: p 有任何想法吗?

你能否发布 java.io.UnsupportedEncodingException 的完整堆栈跟踪? - Benjamin Muschko
1个回答

1
根据CLI帮助 - http://groovy.codehaus.org/Groovy+CLI
$groovy -help
usage: groovy
 -a,--autosplit <splitPattern>   automatically split current line
                                 (defaults to '\s')
 -c,--encoding <charset>    specify the encoding of the files
 -e <script>               specify a command line script
 -h,--help                 usage information
 -i <extension>            modify files in place
 -l <port>                 listen on a port and process inbound lines
 -n                        process files line by line
 -p                        process files line by line and print result
 -v,--version              display the Groovy and JVM versions

groovy -cp会告诉groovy加载不存在的字符集p

你尝试使用${user.home}/.groovy/lib应该可以工作,假设你使用了正确的路径${user.home}。如果你提供操作系统的信息,我们可以看看你是否弄对了。

作为一个解决办法,只需将CLASSPATH环境变量导出到jar文件所在的位置。

Windows: set CLASSPATH=c:\temp\postgresql.jar;c:\temp\dbunit.jar ... Unix/Linux (KSH): export CLASSPATH=${HOME}/temp/postgresql.jar:${TEMP}/temp/dbunit.jar ...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接