【发布时间】:2015-09-09 15:52:49
【问题描述】:
我想知道在编译而不是执行时是否可以在类路径中包含一个 jar。目前我只是在检查是否可以找到我的 PostgreSQL 驱动程序
为了测试目的,所有东西都在同一个位置
program/
DriverCheck.java
DriverCheck.class
postgresql-longassname.jar
DriverCheck.java 包含
public class DriverCheck {
public static void main(String[] args) {
try {
Class.forName("org.postgresql.Driver");
System.out.println(Driver Found);
} catch(Exception log) {
System.out.println(Driver Not Found);
}
}
}
如果我正常编译并执行它
# javac DriverCheck.java
# java -cp ".:./postgresql-longassname.jar" DriverCheck
它在我得到输出时起作用
Driver Found
但是,如果我尝试以这种方式编译和执行
# javac -cp ".:./postgresql-longassname.jar" DriverCheck.java
# java DriverCheck
当我得到输出时它不起作用
Driver Not Found
为什么会这样,我有办法使用第二种方法来包含罐子吗?
【问题讨论】:
标签: java compilation classpath