【发布时间】:2013-01-23 23:23:23
【问题描述】:
我有一个使用 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
我的目录结构如下。我在 MyApp 目录中运行 jar 命令。
+ MyApp
+ lib
- sqljdbc.jar
- help.html
- MANIFEST.MF
- MyApp.class
- MyApp.java
当我创建 JAR 并在 MyApp 目录中运行它时,它工作正常。一旦我将其从目录中拉出,我就会收到错误消息。如何让 JAR 访问内部可用的 sqljdbc.jar?
提前致谢。
【问题讨论】:
标签: sql-server-2008 jdbc executable-jar sqljdbc