我创建了一个 Java 程序来比较版本管理工具中保存为文件的脚本和我们数据库中加载的脚本。这是一个简单的程序,从头到尾运行,并在发现差异时输出到控制台。现在我想从 .properties 文件中加载数据库 URL、用户名和密码以及我的文件的位置。
我确实假设如果我将文件放在类路径上,它将在我的 Java 程序中可见:
Properties values = new Properties();
try
{
File checkPackages = new File("myfile.properties");
if(!checkPackages.exists()) throw new FileNotFoundException();
values.load(new FileReader(checkPackages));
}
catch(FileNotFoundException fnfe) {}
我还想把整个程序保存到一个 .jar 文件中,这样它就更有用了。不幸的是,我发现引用 .properties 文件的唯一方法是将它放在运行 java.exe 的目录中。PATH 或 CLASSPATH 似乎不适用?
我发现了一个关于 .jar 文件的 Manifest 文件的 Oracle 站点,因为我希望那里有答案,但是清单中的 Class-path: 元素似乎只引用了不在 .jar 中的 .jar 文件(而不是 .properties 文件!) 问题:有没有办法将 .properties 文件包装到 .jar 文件中,这样我的用户就不必知道它在那里?有什么方法可以将 Oracle 驱动程序 .jar 包装到应用程序的 .jar 中,这样我的用户就不必知道它的存在(Oracle 说这需要“自定义代码”)?
TIA