【问题标题】:Java: find the main class of a JAR file on a websiteJava:在网站上查找 JAR 文件的主类
【发布时间】:2023-03-05 15:47:01
【问题描述】:

我正在编写一个程序,该程序连接到一个包含几个 JAR 文件的目录的 web 主机。然后,GUI 会显示 JAR 名称,当您双击名称时,它将打开 JAR 文件。

我遇到的问题是,并不是所有的 JAR 文件都在同一个地方有 main 方法,所以我需要一些方法来找到主类。

我尝试过这样的方法:

    File file = new File("website/test.jar");
    JarFile jar = new JarFile(file);
    String mainClass = jar.getManifest().getMainAttributes().get("Main-Class").toString();

但是,我得到:

Exception in thread "main" java.util.zip.ZipException: error in opening zip file

在创建 JarFile 对象的行上。我想到了两种解决方案:遍历 JAR 中的所有类文件并搜索包含 main 方法的类文件,或者在目录中创建一个文本文件,告诉每个 JAR 的主文件。

我更喜欢使用第一个解决方案,因为它实际上并不需要我每次上传另一个 JAR 时都执行额外的步骤。但是,我担心它是一种“蛮力”替代方案,而且感觉效率低下。

你们中有人遇到过类似的问题吗? 非常感谢!

【问题讨论】:

    标签: java url jar main


    【解决方案1】:

    【讨论】:

    • 哇,我不敢相信我错过了这个。这正是我想要的 - 非常感谢!
    猜你喜欢
    • 2017-12-10
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 2019-04-22
    • 2020-02-28
    • 2016-05-21
    • 1970-01-01
    相关资源
    最近更新 更多