我有一个Java应用程序,该应用程序对JavaFX具有Maven依赖性。如果我在macOS上构建此应用程序,则生成的jar包含macOS特定的JavaFX库,例如-Dos.name=Windows
。因此,我不能只拿这个jar并在Windows上运行。
如果我在Windows上构建此应用程序,则会得到Windows依赖的jar,该jar无法在macOS上运行。
有什么办法告诉Maven为特定的OS构建应用程序?我的意思是,如果我使用的是Linux构建服务器,则生成的jar仅可在Linux上运行...
我试图用标志 <dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx</artifactId>
<version>11</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>11.0.2</version>
</dependency>
运行Maven,但这没有完成。
post {
always {
...
}
}