首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在嵌入式jar中创建具有入口点的可执行jar

在嵌入式jar中创建具有入口点的可执行jar
EN

Stack Overflow用户
提问于 2016-04-07 09:28:40
回答 1查看 216关注 0票数 0

我有一个Eclipse项目,它使用许多.jar文件作为依赖项,但没有源文件。有一个运行配置设置,它将main方法(入口点)定义为其中一个包含的jars中的方法。它在Eclipse中运行得很好,但是当我尝试使用可执行jar向导时,我得到错误消息“无法从给定的启动配置中找到main方法”。

根据this tutorial的说法,可以使用jar命令行工具手动设置jar的入口点,但是我应该使用什么作为main方法的.class文件的路径,因为我没有直接拥有任何.class文件,只有嵌入式jar?

或者,是否有其他方法可以正确获取入口点集?

EN

回答 1

Stack Overflow用户

发布于 2016-04-07 09:39:16

标准JAR文件格式允许清单和一组类/资源文件。当然,您可以将JAR文件打包到JAR文件中,但是标准Java类加载器不能以这种方式加载类(从嵌入的JAR文件)。因此,您需要展开所有的JAR文件,并根据包重新打包它们。同样,如果您不是在编写自己的类加载器,情况也是如此。

如果您正在使用Maven,幸运的是,Maven提供了一些插件来完成这个重新打包任务。请参阅帮助创建所谓的Uber的Maven JAR pluginMaven Shade Plugin,该JAR可以选择使用Main-Class清单属性。或者,在没有Maven的情况下,您始终可以使用简单的shell脚本来扩展和重新压缩这些类。

完成此操作后,您可以使用java -jar myjar.jarjava -cp myjar.jar my.main.Class

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36465133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档