为什么我的 jar 文件没有双击启动?

lor*_*olf 5 java program-entry-point

我在双击时无法启动 jar 文件(并使用 java SE 打开),jar 从命令行启动得很好,我创建的其他 jar 通过双击启动得很好。

我使用 eclipse 导出器导出了 jar 文件,我使用了可运行的 jar 导出并在运行配置下选择了正确的 main() 类

当我使用java -jar myjar.jar它运行jar 时,它按预期运行,没有抛出异常

我在 linux/windows 下都有同样的问题我没有真正看到这一点,因为我使用相同方式创建的其他 jar 文件运行没有任何问题。

只是为了好玩我创建了一个c程序只包含

int main(void){
   system("java -jar myjar.jar");
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我双击编译的c程序时,我的 jar 就打开了!

这是清单

Manifest-Version: 1.0
Class-Path: . libs/commons-compress-1.10.jar libs/zip4j_1.3.2.jar libs/xz.jar libs/commons-io-2.4.jar libs/oat2dex.jar
Main-Class: deodex.Tester
Run Code Online (Sandbox Code Playgroud)

这是main方法:http : //pastebin.com/M8Fhb4qW

package deodex;
import deodex.tools.Logger;
import deodex.ui.LangFrame;
import deodex.ui.Window;
public class Tester {
        public static void main(String args[]) {

        if (Cfg.isFirstLaunch()) {
                    Cfg.setCurrentLang(S.ENGLISH);
                    R.initResources();
                    @SuppressWarnings("unused")
                    LangFrame win = new LangFrame();


        } else {
            Cfg.readCfg();
            R.initResources();
            S.initTempFolders();
            Logger.logToStdIO("[test]" + Cfg.getCurrentLang());

                    @SuppressWarnings("unused")
                    Window win = new Window();



        }

    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

更多细节
我尝试JFrame在我的代码之前添加一个新的,双击只适用于出现的那个JFrame ,然后它挂在那里,应该在它之后启动的其他 Windows 没有出现,请告诉我在哪里看......为什么它不起作用?因为看起来我的类扩展JFram需要终端/cmd 来显示,我还应该注意,我正在使用一个类R来根据语言和Cfg类从文本文件中加载字符串,以检查程序是首次启动还是已启动之前启动,然后加载适当的语言文件和资源。


按照答案中的建议进行编辑,我删除了所有 JDK 并按照描述安装了 Oracle 的 JDK 仍然存在相同的问题