IntelliJ打包Java混淆器后无法找到主类JavaCodeObfuscator求助
解决Java主类找不到的问题
一、检查IntelliJ IDEA打包配置(Artifact)
- 确认主类已正确指定
打开IntelliJ IDEA,进入File > Project Structure > Artifacts,选中你创建的Artifact,右侧Main Class下拉框必须选择JavaCodeObfuscator类(带main方法的那个)。如果没选,点击右侧...按钮找到并选中该类,保存配置。 - 确保打包生成可执行JAR
若之前的Artifact类型不对,重新创建:选择JAR > From modules with dependencies,配置过程中在Main Class处指定JavaCodeObfuscator,完成创建后重新执行打包:Build > Build Artifacts > 选中你的Artifact > Build。
二、执行命令的正确方式
方式1:打包为可执行JAR(已通过MANIFEST.MF指定主类)
执行命令格式如下,替换your-obfuscator.jar为实际生成的JAR文件名:
java -jar your-obfuscator.jar hello.java
方式2:打包为普通JAR(未指定主类)
需要通过-cp参数指定类路径,命令格式:
java -cp your-obfuscator.jar JavaCodeObfuscator hello.java
确保命令执行目录与JAR文件在同一目录,或使用JAR的绝对路径。
三、额外验证点
- 检查JAR内是否包含主类
执行命令jar tf your-obfuscator.jar,输出中需能看到JavaCodeObfuscator.class文件(无包名时直接在根目录下)。 - 核对类名拼写
命令中的JavaCodeObfuscator必须和代码中的类名完全一致(Java大小写敏感)。 - 确保JDK版本兼容
打包用的JDK版本和执行命令的JDK版本尽量一致,避免版本不兼容。
内容的提问来源于stack exchange,提问作者Snaks
相关产品推荐
相关产品推荐

