要从命令行运行我的应用程序,我运行:
java -Dconfig.file=./config/devApp.config -jar ./build/libs/myJar.jar
在我的代码中,我有:
String configPath = System.getProperty("config.file");
哪个物业得到了解决。但是,当我尝试使用内置的调试Netbeans任务进行调试时,该属性为null。我的运行输出是:
Executing: gradle debug
Arguments: [-Dconfig.file=./config/devApp.config, -PmainClass=com.comp.entrypoints.Runner, -c, /home/me/Documents/projects/proj/settings.gradle]
JVM Arguments: [-Dconfig.file=./config/devApp.config]
来自哪个:
我在参数和JVM arguemtns中设置它以查看是否要设置它。无论我做什么,它都是空的。有人可以帮我弄清楚如何设置系统属性,以便我的应用可以获得它吗?
答案 0 :(得分:1)
您正在Gradle JVM上设置该属性,该属性几乎与运行应用程序的JVM无关。如果您想使用Gradle启动应用程序进行调试,则必须调整Gradle构建文件以进行设置或将系统属性转发给debug
任务。
假设debug
任务的类型为JavaExec
,则类似
systemProperty 'config.file', System.properties.'config.file'
在debug
任务的配置中,以转发您在" JVM Arguments"中设置的内容。 Netbeans的领域。
答案 1 :(得分:0)