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

发布于 2024-11-14 20:08:05 字数 448 浏览 1 评论 0原文

我在使用 jar 文件和 groovy 时遇到问题。对于一些具体示例,我尝试连接到 postgresql 数据库,并在使用时 sql = Sql.newInstance("jdbc:postgresql://localhost", "user", "pass", "org.postgresql.Driver") 我收到 org.postgresql.Driver 的 ClassNotFound 异常。我的 ${user.home}/.groovy/lib 中有 postgresql jar,并且 groovy-starter.conf 中从那里加载的行没有被注释掉。我的 dbunit.jar 文件也有类似的问题。

如果我尝试使用 groovy -cp 手动添加类路径,我会收到一条错误消息 捕获:java.io.UnsupportedEncodingException:p

有什么想法吗?

I'm having a problem with jar files and groovy. For a few specific examples I'm trying to connect to a postgresql database and when using
sql = Sql.newInstance("jdbc:postgresql://localhost", "user", "pass", "org.postgresql.Driver")
I get a ClassNotFound exception for org.postgresql.Driver. I have the postgresql jar in my ${user.home}/.groovy/lib, and the line to load from there in the groovy-starter.conf is not commented out. I'm also having a similar problem with a dbunit.jar file.

If I try to manually add the classpath using groovy -cp I'm getting an error that says
Caught: java.io.UnsupportedEncodingException: p

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

格子衫的從容 2024-11-21 20:08:05

根据 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

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

假设您使用了 ${user.home} 的正确路径,那么您尝试使用 ${user.home}/.groovy/lib 应该会成功。如果您在操作系统上添加信息,我们可能会看看您是否正确。

作为 WA - 只需将 CLASSPATH 环境变量导出到 jar 所在的位置即可。

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

According to the CLI Help - 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 will tell groovy to load characterset p which does not exist.

Your attempt to use ${user.home}/.groovy/lib should have worked assuming you used the correct path for ${user.home}. If you add info on your OS we might see if you got it right or not.

As a WA - just export the CLASSPATH environment variable to wherever the jars are located.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文