如何跨Windows与类Unix平台以可移植方式使用module-path?
问题解答
这不是Bug。Oracle文档里提到的「多次使用--module-path选项」本应实现路径累加,但部分版本的jpackage存在最后一个参数覆盖前序所有路径的问题,属于实现层面的疏漏,而非语法设计的Bug。
跨平台通用解决方法
- 借助脚本适配系统分隔符:
Linux/macOS 下使用 Shell 脚本:
Windows 下使用 PowerShell:MODULE_PATH="path/to/modules:path/to/external/libs" jpackage --module-path "$MODULE_PATH" --module your.module/your.main.Class ...$MODULE_PATH = "path/to/modules;path/to/external/libs" jpackage --module-path $MODULE_PATH --module your.module/your.main.Class ... - 使用构建工具插件:Maven 的
jpackage-maven-plugin或 Gradle 的application插件会自动处理不同平台的路径分隔符,无需手动维护命令行参数,能轻松实现跨平台打包。
内容的提问来源于stack exchange,提问作者Gili
相关产品推荐
相关产品推荐

