使用 VM-options 启动 jar

Posted

技术标签:

【中文标题】使用 VM-options 启动 jar【英文标题】:starting jar with VM-options 【发布时间】:2019-05-08 09:27:01 【问题描述】:

我有一个可运行的 jar 文件,我想从一个批处理文件开始。但是,jar 文件必须以 VM 选项启动。以下批处理文件启动 jar 文件(以静态方式)。

java -Djava.security.policy=C:\Users\uname\
\src\main\java\rmi\client.policy 
-Djava.rmi.server.codebase=file://C:/Users/uname/Documents/Folder
/anotherFolder/target/classes/ -jar %~dp0jarfile.jar %*

pause

顺便说一句:我知道

\src\main\java\rmi\client.policy

还没有在 jar 文件中,但我假设每个人的机器上都已经有了这个文件结构。

但是,我希望能够以相对路径启动 jar 文件,以便每个 Windows10 (x64) 用户都可以独立使用我的 jar 文件系统。如何通过批处理实现?

【问题讨论】:

【参考方案1】:

根据this answer explanation 将每个对用户主页C:\Users\... 的引用替换为%userprofile% 变量。

java -Djava.security.policy=%userprofile%\src\main\java\rmi\client.policy 
     -Djava.rmi.server.codebase=file://%userprofile%/Documents/Folder/anotherFolder/target/classes/ 
     -jar %~dp0teamFour-1.0-SNAPSHOT.jar %*

或者在执行java之前使用cd切换到%userprofile%目录并依赖于相对路径。

【讨论】:

以上是关于使用 VM-options 启动 jar的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SwiftUI 在首次应用启动时启动教程?

Xcode13,使用LaunchScreen设置启动页

Android 在特定时间使用 AlarmManager 启动服务并且设备启动完成

Oracle数据库使用pfile启动还是spfile启动---oracle

Python Selenium.WebDriverWait 浏览器启动参数设置『Edge如何使用启动参数』

Python Selenium.WebDriver 浏览器启动参数设置『Edge如何使用启动参数』