繁体   English   中英

Java:在网站上找到JAR文件的主类

[英]Java: find the main class of a JAR file on a website

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

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

我尝试过这样的方法:

    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时,它实际上并不需要我做额外的步骤。 但是,我担心它是一种“蛮力”的选择,而且感觉效率低下。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM