java - 如何使用 Cygwin 运行 Java 应用程序

标签 java cygwin

我一直在尝试为 javafx 编译并运行此示例 https://openjfx.io/openjfx-docs/#maven在 Windows 10 上使用 Cygwin。需要一段时间才能通过编译,因为我的 javafx 存储在 C:\Program Files\javafx-sdk-13.0.1 中,问题是文件夹名称中的空格。在尝试了很多不同的事情之后,我终于找到了How to cd into a directory with space in the name? ,简而言之,它告诉您在环境变量“PATH_TO_FX”周围加上引号。

然后我尝试运行该示例

$ java --module-path "PATH_TO_FX":mods -m hellofx/hellofx.HelloFX

引导层初始化期间发生错误java.nio.file.InvalidPathException:索引10处的非法字符<:>:PATH_TO_FX:mods

所以我认为 PATH_TO_FX 是问题所在,但事实证明并非如此。

$ java --module-path src:mods -m hellofx/hellofx.HelloFX

引导层初始化时发生错误java.nio.file.InvalidPathException:索引3处的非法字符<:>:src:mods

src 是一个有效的目录,但我仍然遇到同样的问题。我认为这与 java 存储在带有空格的目录中有关,但我不确定。

最佳答案

@Ray_Write

isn't ; for Windows? Cygwin uses bash

这与外壳无关。 --module-path 的解析完全由java解释器处理,according to the docs在 Windows 上使用 ; 而不是 :,大概是为了与 Windows PATH 分隔符保持一致。

由于此 Java 安装是 native Windows 应用程序,而不是为 Cygwin 构建的应用程序,因此仍应使用 ;。所以实际上,这与 Cygwin 无关。

要将文件路径传递给 java,您可能还需要使用 cygpath将路径转换为其 native Windows 路径。

关于java - 如何使用 Cygwin 运行 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59342968/

相关文章:

regex - sed - 在模式中包含换行符

windows - 在 Windows 上使用 cygwin 通过 ssh 连接 minix 通过对等错误重置连接

java - 如何用另一个 JPanel 替换当前的 JPanel?

java - java中点击事件时如何检查按键是否按下

windows - 将 linux 应用程序移植到 windows 的建议

c++ - Cygwin 未检测到编译器

gcc - Cygwin 中 .seh_savexmm 的无效寄存器

java - 排序键是 HashMap 中的日期条目

java - 您可以在 JSF 渲染器中添加子组件吗

java - 仅包含源代码的 jar 文件