【问题标题】:rg.codehaus.groovy.control.MultipleCompilationErrorsException when I have 2 different jdbc jars on classpath [duplicate]org.codehaus.groovy.control.MultipleCompilationErrorsException 当我在类路径上有2个不同的jdbc jar时[重复]
【发布时间】:2012-11-16 20:18:02
【问题描述】:

可能重复:
Manifest.MF issue with MSSQLSERVER 2008 and Groovy

我有一个非常简单的带有 2 个数据库连接的 groovy 脚本:

  1. 一个到 Oracle 的数据库连接
  2. 另一个到 SQLServer 的数据库连接

问题

当我通过 GGTS 编辑器(SpringSource 工具套件的 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

我的尝试

  1. 我曾尝试使用 jtds 驱动程序连接到 SQLServer,因为我认为问题出在 Microsoft 站点 based on this same problem reported differently here 的 sqljdbc4.jar 上

  2. 我试过用分号隔开类路径依赖,还是一样的错误。

  3. 我已将 java 版本升级到 1.7。 Groovy 版本是 2.0.5

  4. 在 IDE 中它运行良好,但从命令行我得到错误。

  5. 如果我注释掉其中一个 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,我就会收到上面报告的错误。

我没有想法或想法

【问题讨论】:

  • 不是重复我遇到的问题是相同的,但我的措辞不同。如果您阅读此问题,您会看到我提到了我的另一个问题。这是一个有效的问题

标签: sql-server-2008 jdbc command-line groovy classpath


【解决方案1】:

类路径中的文件在 Windows 上需要用分号分隔。在 Linux 或 OSX 等类 unix 平台上,分隔符是冒号。 Groovy 将第二个 jar 文件视为脚本,将脚本名称视为第一个命令行参数。

试试这个:

groovy -cp lib\jtds-1.3.0.jar;lib\ojdbc6-11g.jar src\Starter.groovy

你会得到一个不同的错误吗?

【讨论】:

  • 我告诉他们,当他们在stackoverflow.com/questions/13311992/… 之前问过这个问题时,尽管他们说了什么,但他们没有听
  • @ataylor 即使用分号分隔我仍然得到相同的 EXACT ERROR。蒂姆耶茨我不知道你的问题是什么。我确实倾听,成为解决方案的一部分,而不是消极的。
  • 成功了!!!显然,当我输入分号时,我留下了这样的空格: lib\jtds-1.3.0.jar; lib\ojdbc6-11g.jar 而不是这样做 lib\jtds-1.3.0.jar;lib\ojdbc6-11g.jar 感谢ataylor,也感谢tim_yates
猜你喜欢
  • 2018-01-13
  • 2013-01-01
  • 2012-12-27
  • 1970-01-01
  • 2013-10-06
  • 1970-01-01
  • 1970-01-01
  • 2014-04-04
  • 2014-04-17
相关资源
最近更新 更多