Java 安装了Derby DB,包括JAR,为了项目的可移植性,在哪里可以找到DB?

Java 安装了Derby DB,包括JAR,为了项目的可移植性,在哪里可以找到DB?,java,eclipse,derby,sqljdbc,Java,Eclipse,Derby,Sqljdbc,因此,我不熟悉Java数据库,我已经决定使用ApacheDerby。我已经在我的系统上安装了它,并且在项目构建路径中包含了derby.jar。但是,我需要这个项目是可移植的(包括从Windows到OSX/UNIX),以便可以初始化数据库并完全访问它,以便在我的机器以外的设备上进行更新和读取 所以我的问题是,我如何做到这一点?包含derby.jar文件是否足够,或者是否需要在项目文件系统中初始化数据库之类的操作?我是否需要在项目中的类中指定某个写入位置?如果有用的话,我正在使用EclipseIDE

因此,我不熟悉Java数据库,我已经决定使用ApacheDerby。我已经在我的系统上安装了它,并且在项目构建路径中包含了derby.jar。但是,我需要这个项目是可移植的(包括从Windows到OSX/UNIX),以便可以初始化数据库并完全访问它,以便在我的机器以外的设备上进行更新和读取

所以我的问题是,我如何做到这一点?包含derby.jar文件是否足够,或者是否需要在项目文件系统中初始化数据库之类的操作?我是否需要在项目中的类中指定某个写入位置?如果有用的话,我正在使用EclipseIDE


谢谢你的帮助

因此,在仔细阅读之后,我找到了自己的解决方案,至少在理论上是这样(我还没有完成项目构建来尝试它)。在数据访问对象(DAO)中使用此选项

根据:

private void setDBSystemDir(){
/*决定数据库系统目录:/DerbyDB/DBName/*/
字符串userHomeDir=System.getProperty(“user.home”,”);
字符串systemDir=userHomeDir+“/DerbyDB/DBName”;
//设置数据库系统目录。
setProperty(“derby.System.home”,systemDir);
}

您是否在询问是否可以在Windows、Mac和Linux上使用相同的
derby.jar
(是的,您可以)?或者你是在问用户的磁盘上应该把数据库文件夹放在哪里(你可能应该问用户这个问题,然后把数据库放在他们要求你放的地方,但是如果你需要一个默认值,每个操作系统都有自己的默认存储位置)。@BryanPendleton我是在问后者(前一个是在那里抛出的,因为我不确定最初是否会因为跨平台的目录URL的语法不同而成为问题)。我想我理解了如何设置默认位置
String userHomeDir=System.getProperty(“user.home”,“);
String systemDir=userHomeDir+“/DerbyDB/DBName”;
//设置db系统目录。
system.setProperty(“derby.system.home”,systemDir);
我为奇怪的代码格式道歉,在理解注释中的SO代码格式时遇到困难…第一次。
private void setDBSystemDir() {
    /* Decide on the db system directory: <userhome>/DerbyDB/DBName/ */
    String userHomeDir = System.getProperty("user.home", ".");
    String systemDir = userHomeDir + "/DerbyDB/DBName";

    // Set the db system directory.
    System.setProperty("derby.system.home", systemDir);
}