【已解决】打开jar文件找不到或无法加载主类

原因:部分jar文件没有内置JavaFx库,java11之后移除了JavaFx库
JavaFx下载地址:

https://openjfx.cn/dl/

下载JavaFx,我的是java18,所以下载对应的java18的版本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里以shiro反序列化综合利用工具为例,直接双击或者命令都打不开
在这里插入图片描述
在这里插入图片描述
新建一个bat文件,文件名任意,内容如下

start javaw --module-path "C:\Program Files\Java\javafx-sdk-18\lib" --add-modules=javafx.base --add-modules=javafx.controls --add-modules=javafx.fxml --add-modules=javafx.graphics --add-modules=javafx.media --add-modules=javafx.swing --add-modules=javafx.web -jar shiro_attack-2.2.jar

在这里插入图片描述
在这里插入图片描述

然后双击start.bat就能打开了
在这里插入图片描述

注:如果要打开其他的jar文件,在需要打开的jar文件同一个目录创建bat文件,内容只有两处需要更改,一个是javafx在自己电脑上的路径,一个是需要打开的jar文件的全名
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 当我们将Java项目打包成jar文件时,有时会遇到不到无法加载主类main的问题。解决这个问题的方法如下: 1. 确保项目中存在一个包含main方法的主类。这个类是程序执行的入口点,必须包含一个这样的方法。确保这个类被定义为public并且在正确的包中。 2. 检查项目的构建配置是否正确。在IDE中,我们需要配置项目的构建方式,确保生成的jar文件包含所有必要的依赖和资源文件。如果配置不正确,编译器将无法主类。 3. 检查jar文件的目录结构。jar文件是一个压缩文件,其中包含了所有的编译好的类文件和资源文件。确保main类位于正确的位置,并且在jar文件中的MANIFEST.MF文件中正确地声明了main类。 4. 如果使用外部库或依赖项,确保这些库也被正确地打包进jar文件中。在jar的构建过程中,我们需要将这些库文件加入到classpath中,以便程序能够正确加载这些类。 5. 检查操作系统或环境变量的设置。有时,不到无法加载主类main的问题可能是由于操作系统或环境变量没有正确配置导致的。确保Java的相关路径设置正确,并且JRE或JDK的版本与项目要求的兼容。 通过以上的步骤,我们应该能够解决不到无法加载主类main的问题,成功运行打包好的jar文件。如果问题仍然存在,我们可能需要进一步检查代码、构建配置和环境设置,以到问题的根本原因。 ### 回答2: 在使用idea打包jar文件时,有时会遇到不到无法加载主类 main的问题。这个问题通常是由于项目设置的不正确或依赖包未正确加载所致。我们可以按照以下步骤来解决这个问题。 首先,我们要确保项目的配置正确。可以通过以下步骤进行检查和修正: 1. 确保在项目的工程结构设置中,已正确指定了主类。可以在File -> Project Structure -> Project中查看和修改。 2. 检查项目的模块配置,确保主类已正确指定。可以在File -> Project Structure -> Modules中查看和修改。 3. 确保项目的运行配置正确。可以在Run -> Edit Configurations中查看和修改。 4. 检查项目的依赖配置,确保依赖包已正确加载。可以在File -> Project Structure -> Libraries中查看和修改。 如果以上步骤都已经核对无误,但问题仍然存在,我们可以尝试执行以下操作: 1. 清理和重新编译项目。可以在Build -> Rebuild Project中进行操作。 2. 在项目的out目录下手动删除旧的jar文件。 3. 删除.idea目录和.iml文件,并重新导入项目。 如果问题仍然存在,可能是由于其他问题引起的。可以尝试以下操作: 1. 检查项目的源代码,确保没有语法错误或逻辑错误。 2. 检查项目的运行环境,确保所需的Java版本已经安装和配置正确。 3. 检查项目的依赖包,确保依赖包的版本和兼容性正确。 综上所述,通过检查项目配置、重新编译、清理旧文件以及检查源代码和依赖包等方面,我们可以解决idea打包jar文件时出现不到无法加载主类 main的问题。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值