如何在eclipse或命令行中创建可执行jar时排除外部jar?

5 eclipse jar

我在Eclipse IDE中编写了一个使用BouncyProvider类BouncyCastle.jar的程序.因此,为了编译我的类,我在项目类路径中添加了BouncyCastle.jar,它完美地编译.

现在我想将我的项目导出为Runnable JAR,所以当我从Eclipse中执行此操作时,它默认在该runnable jar中添加了BouncyCastle.jar的类.

但是我希望保持我的应用程序jar和BouncyCastle.jar彼此不同.

我怎样才能做到这一点?有人可以帮忙吗?

bra*_*ter 1

不幸的是,看起来你实际上无法做到这一点。一个 JAR 不能使用存储在其自身内部的另一个 JAR。

我想说,除非你有一个非常充分的理由为什么你不能解压你的 BouncyCastle.jar (比如可能是许可问题?)

只需让它解压即可(您可以通过将 BouncyCastle.jar 添加为 Eclipse 中的外部存档来完成此操作:)

Right-click on your project
Build Path...
Add External Archives...
Add your archive
Export as runnable JAR)
Run Code Online (Sandbox Code Playgroud)

并注意您的包名称是否有冲突。

这是我发现的一个开放的 Java bug ID,描述了您的情况

One-JAR 可能会有所帮助 - 针对您的情况的开源解决方案