我有一个使用 sqljdbc4.jar 连接到 SQL Server 2008 数据库的 GUI 应用程序。如果我从命令行运行它,效果很好。
但是,一旦我将它包装到一个可执行的 JAR 中,我就会得到一个“没有为 jdbc:sqlserver://myServer:1433;databaseName=myDb 找到合适的驱动程序”错误。我知道我的 Windows 系统 CLASSPATH 一旦在 JAR 中就会被忽略,但我无法弄清楚在可执行 JAR 中包含 sqljdbc4.jar 并获得可移植应用程序。
我最近尝试解决这个问题如下:
我的 MANIFEST.MF 文件:
Manifest-Version: 1.0
Class-Path: lib/sqljdbc4.jar
Created-By: 1.7.0_11 (Oracle Corporation)
Main-Class: MyApp
我用来编译 JAR 的命令:
jar cmf MANIFEST.MF MyApp.jar MyApp.class help.html lib
我的目录结构如下。我jar
在 MyApp 目录中运行命令。
+ MyApp
+ lib
- sqljdbc.jar
- help.html
- MANIFEST.MF
- MyApp.class
- MyApp.java
当我创建 JAR 并在 MyApp 目录中运行它时,它工作正常。一旦我将其从目录中拉出,我就会收到错误消息。如何让 JAR 访问内部可用的 sqljdbc.jar?
提前致谢。