Java系列之:执行Java命令报错没有主清单属性和缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
一、没有主清单属性
- ./offset-editor-1.0-SNAPSHOT.jar中没有主清单属性
- 该错误表明在执行./offset-editor-1.0-SNAPSHOT.jar时,未找到JAR文件的主清单属性。
要解决这个问题,可以通过在构建JAR文件时指定主清单属性来解决。您可以在项目的构建配置文件(如pom.xml或build.gradle)中添加以下代码:
- 对于Maven项目(pom.xml):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass> <!-- 替换为您的主类 -->
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
- 对于Gradle项目(build.gradle):
jar {
manifest {
attributes 'Main-Class': 'com.example.MainClass' // 替换为您的主类
}
}
确保将"com.example.MainClass"替换为您实际的主类名。然后重新构建JAR文件,确保主清单属性被正确设置并包含在JAR文件中。
重新执行命令时,应该不再出现"没有主清单属性"的错误。
二、缺少 JavaFX 运行时组件
- 错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
- 该错误表明在运行JAR文件时缺少JavaFX运行时组件,而您的应用程序需要使用JavaFX来运行。
- 要解决这个问题,您可以通过以下步骤之一来添加JavaFX运行时组件:
-
- 安装JavaFX:下载并安装JavaFX运行时组件,您可以从Oracle官网上找到JavaFX的最新版本,并按照它的安装指南进行安装。
-
- 添加JavaFX依赖项:如果您正在使用构建工具(如Maven或Gradle),可以将JavaFX作为项目的依赖项添加到构建配置文件中。
-
下面是两个常用构建工具的配置示例:
- 对于Maven项目(pom.xml):
<dependencies>
<!-- 其他依赖项 -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>15</version> <!-- 替换为您所需的JavaFX版本 -->
</dependency>
</dependencies>
- 对于Gradle项目(build.gradle):
dependencies {
// 其他依赖项
implementation 'org.openjfx:javafx-controls:15' // 替换为您所需的JavaFX版本
}
确保使用适合您项目的JavaFX版本,并根据需要添加其他JavaFX模块。
添加完JavaFX依赖项后,重新构建和运行JAR文件,应该能够成功启动应用程序并避免"缺少JavaFX运行时组件"的错误。
三、安装部署JavaFX和IDEA添加JavaFX的详细步骤
安装部署JavaFX和IDEA添加JavaFX的详细步骤可以参考博主下面这篇技术博客: