-2

可能重复:
MSSQLSERVER 2008 和 Groovy 的 Manifest.MF 问题

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

  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 站点的 sqljdbc4.jar基于此相同的问题在此处以不同方式报告

  2. 我试过用分号来分隔类路径依赖项,但仍然是同样的错误。

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

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

  5. 如果我注释掉其中一个数据库访问代码(连接、查询、结果集的 println),让我的 groovy 脚本只有一个数据库连接和访问,程序从命令行运行良好。例如:

这个

groovy -cp lib\jtds-1.3.0.jar src\Starter.groovy

或这个:

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

确实有效。一旦我在第二个数据库访问的类路径中添加代码和 jar,我就会收到上面报告的错误。

我没有想法或想法

4

1 回答 1

1

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

尝试这个:

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

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

于 2012-11-16T21:26:47.863 回答