【发布时间】:2016-05-29 14:56:52
【问题描述】:
我为自己编写了一个与 Access 数据库文件配合使用的简单程序。 我用绝对路径连接db:
String path = "jdbc:ucanaccess://D:/Development/20_Eclipse/Budget/data/Budget.accdb";
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
this.conn = DriverManager.getConnection(path);
当我在其他地方使用可运行的 jar 时,这条路径(可以理解)不起作用。所以我尝试了相对路径,但它们也不起作用。
然后我尝试使用构建路径
String path = "jdbc:ucanaccess://" + helper.programmPathForDB() + "/data/Budget.accdb";
helper.programPathForDB() 在哪里这样做:
public String programmPathForDB()
{
String tempPath = this.getClass().getResource( "." ).toString();
String path = tempPath.substring(6, (tempPath.length()-12));
return path;
}
这仅在我通过 IDE (Eclipse) 启动程序时有效。当我在其他地方启动 jar 时它不起作用。
我该如何解决这个问题?
【问题讨论】:
-
是与jar的位置关系还是应用程序的启动位置?
标签: java database eclipse path ucanaccess