当前位置: 首页 > 面试题库 >

Java 在JAR中包含JAR的类路径

田瀚
2023-03-14
问题内容

是否可以指定一个Java classpath,其中包含另一个JAR文件中包含的JAR文件?


问题答案:

如果您试图创建一个包含应用程序及其所需库的jar,则有两种方法(我知道)。第一个是One-Jar,它使用特殊的类加载器来允许jar的嵌套。第二个是UberJar(或Shade),它会爆炸包含的库并将所有类放在顶级jar中。

我还应该提到UberJar和Shade分别是Maven1和Maven2的插件。如下所述,您还可以使用Assembly插件(实际上功能更强大,但更难正确配置)。



 类似资料:
  • 我在Eclipse中创建了一个Java项目,并创建了一个带有main方法的简单类。 问题:当我运行程序(没有任何服务器等)时,我收到以下错误: 线程“main”java中出现异常。lang.NoClassDefFoundError:org/apache/commons/codec/DecoderException at autoPEC。main(autoPEC.java:6)由:java引起。la

  • 问题内容: 有没有办法将所有jar文件包含在类路径的目录中? 我正在尝试,但找不到这些jar中肯定存在的类文件。我是否需要将每个jar文件分别添加到类路径? 问题答案: 使用Java 6或更高版本时,选项支持通配符。请注意以下几点: 使用双引号(”) 使用,不 windows Linux 这类似于Windows,但使用代替。如果不能使用通配符,则bash允许使用以下语法(其中lib包含所有Java

  • 我在eclipse中有一个java项目,我在ec利pse之外使用ivy依赖项管理器,所以我的目录结构中充满了各种jar文件。有没有一种简单的方法将我的eclipse项目的路径指向常春藤目录并拾取所有jar文件? 我试图避免将每个单独的jar拉到我的eclipse项目目录中,并希望有更好的方法。

  • 问题内容: 我想将类文件包括在其他目录中,而不是主类的目录中。 如果我将这些目录放入它的属性中将不起作用。 为什么?除了将这些类打包到jar文件中,是否有其他解决方案? 问题答案: 如该链接中所述,必须使用斜杠: 类路径属性

  • 问题内容: 尝试运行该程序。我认为要设置所有Web服务内容,我需要运行apt。(虽然使用javac,但我遇到了同样的问题)。我认为我得到的是编译错误。(显示在底部)。 我认为我需要做的是在我的类路径中包括这个jar:jsr181-api.jar (源)。有一种简单的临时方法(在solaris上)吗?我不想将其添加到我的bash_rc文件中(它永远存在)。我还知道可以使用清单文本文件来执行此操作,但