我是第一次创建 JavaFX 项目,但在导出和部署项目时遇到了一些麻烦。按照本教程,我尝试使用 jlink,但遇到了错误:
Error: automatic module cannot be used with jlink: json from file:///C:/Users/owner/.m2/repository/org/json/json/20180130/json-20180130.jar
[ERROR] Command execution failed.
我将org.json:json:20180130
工件用作项目中的依赖项,这似乎是导致此错误的原因。我已经在 SO 以及其他一些在线资源上查看了与我类似的问题。但是我在理解他们的解决方案时遇到了很多麻烦,因为我只是这方面的初学者。
我已经阅读了有关添加模块描述符和使用命令行生成模块信息的信息。但我不知道该怎么做。
这是我目前的module-info.java(youdolist是我的项目):
module youdolist {
requires javafx.controls;
requires javafx.fxml;
requires javafx.media;
requires json;
opens youdolist to javafx.fxml;
exports youdolist;
}
这是我的 pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>youdolist</groupId>
<artifactId>youdolist</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.3</version>
<configuration>
<mainClass>youdolist.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>