繁体   English   中英

蝙蝠文件设置类路径

[英]Bat file set classpath

以下代码有什么问题吗? 这是一个bat文件,在尝试执行jar(jdbc oracle驱动程序)之前,我试图设置一些依赖类。

set CLASSPATH=lib\dbdriver.zip;%CLASSPATH%
java -jar sql2java.jar test.properties
pause

我总是会发现类未找到异常(该类在我尝试添加到类路径中的zip中)。 我什至尝试通过以管理员身份执行此操作,但无济于事

set CLASSPATH=lib\dbdriver.zip;%CLASSPATH%
java -jar %~dp0sql2java.jar %~dp0test.properties
pause

该类位于zip文件(路径\\ oracle \\ jdbc \\ OracleDriver)中,而我尝试使用

jdbc.driver = oracle.jdbc.driver.OracleDriver

查看有关java (Java应用程序启动器)的此文档

对于-jar选项,它说-

执行封装在JAR文件中的程序。 第一个参数是JAR文件的名称,而不是启动类的名称。 为了使此选项起作用,JAR文件的清单必须包含以下行:Main-Class:classname。 在这里,类名使用公共静态void main(String [] args)方法标识该类,该方法用作应用程序的起点。

使用此选项时,JAR文件是所有用户类的源,而其他用户类路径设置将被忽略。

因此,您要么需要将所有内容打包在jar( sql2java.jar )中,要么不要在java启动器命令中使用-jar选项。

您可以使用java -jar来执行它,并在jar的清单文件中为应用程序定义类路径。 有关如何在http://docs.oracle.com/javase/tutorial/deployment/jar/downman.html上为应用程序设置类路径的信息,请参见jar上的Java教程。

它说:

例如,在典型情况下,小程序捆绑在一个JAR文件中,其清单引用了一个不同的JAR文件(或几个不同的JAR文件),该文件充当该小程序的用途。

您可以指定要包含在小程序或应用程序清单文件中“类路径”头字段中的类。 Class-Path标头采用以下形式:

 Class-Path: jar1-name jar2-name directory-name/jar3-name 

通过使用清单中的Class-Path标头,可以避免在调用Java运行应用程序时必须指定长的-classpath标志。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM