我有一个非常简单的groovy脚本,有2个数据库连接:
问题
当我通过GGTS编辑器(SpringSource Tool Suite的groovy和grails版本)运行程序时,两个查询运行并返回结果。但是,当我从命令行运行程序时,从项目文件夹中运行如下:
groovy -cp lib\jtds-1.3.0.jar lib\ojdbc6-11g.jar src\Starter.groovy
我收到以下错误:
C:\workspace-ggts\Test>groovy -cp lib\jtds-1.3.0.jar lib\ojdbc6-11g.jar src\Star
ter.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
C:\workspace-ggts\Test\lib\ojdbc6-11g.jar: 1: unexpected char: 0x3 @ line 1, col
umn 3.
PK♥ ßî∟9 ♦ META-INF/■╩ ♥ ☻ PK♥♦ ßî∟9 ¶ M
ETA-INF/MANIFEST.MF?æ┴N├0►D∩æ≥☼½₧α►7)R[rúΘÑá☻R½^æq6─òcç╡SΦ▀π4◄ → ─╒3;π}╗µ
Z▬h]┤C▓╥Φ¶↕▬ç┴¬¬§V¿↔w■╤ï:7ö┬♥qí►2C╡íôtf▌Jº0♣│╧ƒ┼öφ9
^
1 error
我尝试过什么
我尝试使用jtds驱动程序连接到SQLServer,因为我认为问题是来自Microsoft网站based on this same problem reported differently here
我尝试用分号分隔类路径依赖项,但仍然是同样的错误。
我已将java版本升级到1.7。 Groovy版本是2.0.5
从IDE运行正常,但是从命令行我得到了错误。
如果我注释掉其中一个db访问代码(连接,查询,结果集的println),那么我的groovy脚本只有一个db连接&访问程序从命令行运行正常。例如:
此
groovy -cp lib\jtds-1.3.0.jar src\Starter.groovy
或者这个:
groovy -cp lib\ojdbc6-11g.jar src\Starter.groovy
确实有效。一旦我在第二次数据库访问的类路径中添加代码和jar,我就会收到上面报告的错误。
我没有想法或想法
答案 0 :(得分:1)
类路径中的文件需要在Windows上用分号分隔。在像Linux或OSX这样的类Unix平台上,分隔符是冒号。 Groovy将第二个jar文件视为脚本,将脚本名称视为第一个命令行参数。
试试这个:
groovy -cp lib\jtds-1.3.0.jar;lib\ojdbc6-11g.jar src\Starter.groovy
你有不同的错误吗?