java - 如何从 Java 获取 jar 文件的主类名称?

标签 java classloader program-entry-point

我想使用 URLClassLoader 加载和执行外部 jar 文件。

从中获取“Main-Class”的最简单方法是什么?

最佳答案

我知道这是一个老问题,但至少对于 JDK 1.7,之前提出的解决方案似乎不起作用。 出于这个原因,我发布了我的:

JarFile j = new JarFile(new File("jarfile.jar"));
String mainClassName = j.getManifest().getMainAttributes().getValue("Main-Class");

其他解决方案对我不起作用的原因是因为 j.getManifest().getEntries() 结果不包含 Main-Class 属性,而是包含在列表中由 getMainAttributes() 方法返回。

关于java - 如何从 Java 获取 jar 文件的主类名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8533892/

相关文章:

java - 将具有多次重复的 SQL 查询映射到 hibernate 实体

java - JaNeLA 报告有关有效 JNLP 的错误

java - 如何将 Short 数据类型与 @Cacheable 一起使用?

java - Applet 类加载器找不到 jar 中的类之一

java - SharedPreferences 在应用程序操作期间发生冲突,然后在应用程序强制关闭/重新启动设备后完全消失的问题

java - Android 静态引用强吗

java - 从多个 JAR 动态加载类

c++ - Main 方法与教程中的不同

C : Nothing to be done for 'all' Hello word

java - java中的string args[]是作为varargs实现的吗?