我正在将一个应用程序从Oracle Java8迁移到openJDK11+OpenJFX11。在Java8版本中,我使用以下代码加载了一个属性文件(CryoStats是包含代码的类):
try {
jarLocation = CryoStats.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
confLocation = jarLocation.substring(0, jarLocation.lastIndexOf("/")) + "/config/";
try (FileInputStream input = new FileInputStream(confLocation + "CryoStats.properties");) {
properties.load(input);
HORUS_HOST = properties.getProperty("HORUS_HOST");
HORUS_USERNAME = properties.getProperty("HORUS_USERNAME");
HORUS_PASSWORD = properties.getProperty("HORUS_PASSWORD");
CONNECTION_TIMEOUT = Integer.parseInt(properties.getProperty("CONNECTION_TIMEOUT"));
SOCKET_TIMEOUT = Integer.parseInt(properties.getProperty("SOCKET_TIMEOUT"));
System.out.println("CryoStats.properties loaded.");
} catch (FileNotFoundException ex) {
System.out.println("Error loading properties file");
System.out.println(ex.getMessage());
} catch (IOException ex) {
System.out.println("Error loading properties file");
System.out.println(ex.getMessage());
}
} catch (URISyntaxException ex) {
System.out.println(ex.getMessage());
}
在我的Netbeans构建配置中,我有一个任务,将“config”文件夹复制到“dist”文件夹,因此其中包括:我的jar文件、一个“lib”文件夹、一个“config”文件夹。这段代码在Netbeans内部和运行时都可以工作。
我需要给用户编辑属性文件的可能性,所以我需要将它保存在JAR之外。
jarLocation = /cryostats
confLocation = System.getProperty("user.dir") + "/config/";
是否有一种方法可以让用户在jlink生成的运行时映像中访问属性文件,同时让Eclipse访问属性文件?
假设类来自。jar文件是平台文件系统中的物理文件,这从来都不是正确的。(另外,getCodeSource()可以返回null)。
Windows、OS X和Linux都有存储用户配置文件的标准位置。请参见查找专用应用程序文件夹的位置。为了使该链接中的信息过于简化:
system.getproperty(“user.home”)+“\\appdata\\roaming\\cryostats”
system.getproperty(“user.home”)+“/library/application support/cryostats”
system.getproperty(“user.home”)+“/.config/cryostats”
问题内容: 我已经使用Netbeans开发了Java桌面应用程序。在我的应用程序中,我使用了一些属性文件,并将其放置在Project文件夹下,以便可以使用类似的代码来访问它 但是,当我将应用程序部署并打包到.jar文件时,我找不到属性文件在哪里,并且我的应用程序无法从属性文件读取值。 我该如何解决该错误,我应该在哪里放置我的属性文件并将其加载? 问题答案: 将其放在下面,然后按如下所示使用它。 N
我正在尝试将Java应用程序嵌入到本机Mac应用程序中。Java应用程序是用jlink(Java 9)打包的,其中包括一个精简的JRE。 我试图使用Java调用接口创建JVM并启动主类,但程序在调用JNI\U CreateJavaVM时崩溃,因为它找不到libjava。动态库。 在我的Xcode项目中,我有一个“复制文件”阶段,该阶段将整个jlink映像(包含bin、lib等目录的文件夹)复制到应
为缓解 Windows 下路径名过长的 问题, 略微加快一下 require的速度以及隐藏你的源代码,你可以选择把你的应用打包成 asar档案文件,这只需要对你的源代码做一些很小的改动。 大部分用户可以毫不费力地使用这个功能,因为它electron-packager,、electron-forge和electron-builder中都得到了支持,开箱即用。 如果你没有使用这些工具中的任何一个,那么
当我调用服务时,它会给出以下错误:- 我已经基于相同的设计模式构建了REST API,它对我来说工作得很好。我没有得到的东西,为什么它说“没有财产日期找到类型现金流!”?实体中没有日期属性。我尝试删除数据库并重新启动,但没有成功。我错过了什么?
但是当我执行'java--list-modules'时,它列出了所有的模块。 如何从app.main模块运行主类?模块到底复制到哪里了?