我就在:
试图创建一个jar,我可以在其他系统上运行(这些系统不具有非开发者外行用户会遇到的javafx库),他们已经告诉我使用它:
dir /s /b src\*.java > sources.txt & javac --module-path %PATH_TO_FX% -d mods/hellofx @sources.txt & del sources.txt
什么是mods / 那应该在哪里?他们是在谈论/吗?
答案 0 :(得分:1)
您链接的文档引用了此sample。
如果您克隆示例,并按照有关如何编译和运行项目的说明进行操作,则第一个命令可以分为三个部分:
dir /s /b src\*.java > sources.txt & \
javac --module-path %PATH_TO_FX% -d mods/hellofx @sources.txt & \
del sources.txt
第一部分只是获取src路径中的所有Java文件,并将其添加到sources.txt
文件中:
C:\path\to\hellofx\src\module-info.java
C:\path\to\hellofx\src\hellofx\HelloFX.java
第二部分调用javac
命令(请参阅reference)来编译sources.txt
的内容,添加所需的--module-path
选项以包括JavaFX模块,以及添加输出或目的地 -d
选项:
-d目录
设置类文件的目标目录。如果类是包的一部分,则javac会将类文件放在反映包名称的子目录中,并根据需要创建目录。
这意味着我们将hellofx.HelloFX.java
编译到目录mods/hellofx
中,结果是:
C:\path\to\hellofx\mods\hellofx\module-info.class
C:\path\to\hellofx\mods\hellofx\hellofx\HelloFX.class
第三步将只删除sources.txt
文件。
现在您可以运行模块了:
java --module-path "%PATH_TO_FX%;mods" -m hellofx/hellofx.HelloFX
当然,您可以为输出指定任何目录,因此可以将其更改为out
或build
,但是请确保在其余说明中进行相应的修改。