Erlyberly构建失败求助:Java 17+Ubuntu环境下JavaFX依赖问题
解决方案
1. 卸载系统安装的OpenJFX
避免版本冲突,先移除通过apt安装的OpenJFX相关包:
sudo apt remove --purge openjfx libopenjfx-java libopenjfx-jni openjfx-source sudo apt autoremove
2. 修改项目pom.xml配置
Java 17需要匹配对应版本的OpenJFX(推荐17.0.1),通过Maven直接引入依赖,让构建工具自动管理:
添加JavaFX依赖
在pom.xml的<dependencies>节点中加入以下内容:
<dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>17.0.1</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-graphics</artifactId> <version>17.0.1</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-base</artifactId> <version>17.0.1</version> </dependency>
配置Maven编译插件
在pom.xml的<build>-<plugins>节点中更新编译插件,并添加JavaFX运行插件:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>17</source> <target>17</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>0.0.8</version> <executions> <execution> <id>default-cli</id> <configuration> <mainClass>erlyberly.Erlyberly</mainClass> </configuration> </execution> </executions> </plugin>
3. 重新执行构建命令
修改配置后,回到项目根目录重新运行构建:
./mvnw clean compile install assembly:single
若后续需要启动程序,可直接执行:
./mvnw javafx:run
内容的提问来源于stack exchange,提问作者Bhuvan
相关产品推荐
相关产品推荐

