gpt4 book ai didi

java - 找不到 Derby 嵌入式数据库 'APPDATA' 文件夹,正在尝试创建 OS X 应用程序 .app

转载 作者:行者123 更新时间:2023-11-30 06:54:18 24 4
gpt4 key购买 nike

我正在尝试从 java desktopos.jar 创建一个 Mac OS X 应用程序,其中我的应用程序 .jar 文件使用 derby 嵌入式数据库 APPDATA。当我创建 Mac OS X 应用程序 .app 时,它会产生问题

这是我在 java 上的连接方法(已经在 .exe 和 setup-Windows & Linux 上工作)

public static Connection getdataconnet() {
Connection connect = null;
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
connect = DriverManager.getConnection("jdbc:derby:APPDATA", "xxxx", "xxxxxxxxxxxxxxx");
} catch (ClassNotFoundException ex) {
globalData.GlobalDataSetGet.OLD_USER = -1;
////JOptionPane.showMessageDialog(null, "1"+ex);
} catch (SQLException ex) {
globalData.GlobalDataSetGet.OLD_USER = -1;
////JOptionPane.showMessageDialog(null, "2"+ex);
}
return connect;
}

Mac OS X 应用架构.app enter image description here

在创建 Mac OS X 应用程序 .app 后,.jar 找不到 APPDATA enter image description here

使用 CWD..

Connection connect = null;
Path currentRelativePath = Paths.get("");
String s = currentRelativePath.toAbsolutePath().toString();
try {//DriverManager.getConnection("jdbc:derby:"+System.getProperty("user.dir")+"/APPDATA", "#####", "#############");
connect = DriverManager.getConnection("jdbc:derby:"+s+"/APPDATA", "#####", "#############");

} catch (ClassNotFoundException ex) {
globalData.GlobalDataSetGet.OLD_USER = -1;
JOptionPane.showMessageDialog(null, "1"+ex);
} catch (SQLException ex) {
globalData.GlobalDataSetGet.OLD_USER = -1;
JOptionPane.showMessageDialog(null, "2"+ex);
}

enter image description here需要开发帮助,谢谢!

最佳答案

正如我在回答中提到的 here ,
在 Mac OSX 应用程序中,jar 的当前工作目录的位置可以使用

System.getProperty("java.library.path")

因此,对于连接字符串,使用:

String pwd = System.getProperty("java.library.path");
connect = DriverManager.getConnection("jdbc:derby:"+pwd+"/APPDATA", "#####", "#############");



由于我现在无法访问 Mac,只需验证 pwd 的值是否以“/”结尾。如果是,附加“APPDATA”而不是“/APPDATA”。
希望这对您有所帮助!

关于java - 找不到 Derby 嵌入式数据库 'APPDATA' 文件夹,正在尝试创建 OS X 应用程序 .app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36639175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com