标签: classpath

Debian 上的 Java 库应该如何工作?

我刚刚在 Debian Wheezy 上安装 activemq 经历了很多痛苦。apt-get install activemq安装了很多软件包 - openjdk-jre + 大量库,据我所知,所有这些都最终在 /usr/share/java 中。使用完全基本的配置,activemq 可以正常启动,但是一旦我将任何身份验证或授权部分添加到我的配置中,它就会出现org.objectweb.asm.commons.EmptyVisitor. 这个类肯定是由 /usr/share/java/asm3-all.jar 提供的,它很高兴地安装在我的系统上,大概是由于 activemq 包中指定的依赖关系。

那么什么给呢?经过更多的挖掘,事实证明,运行 activemq 所需的大多数 jar直接安装在/usr/share/activemq/lib其中 - 包括 asm3.jar,但至关重要的是,不是 asm3-all.jar,其中包括有问题的类。作为一项实验,我将 jar 从 /usr/share/java/ 复制到 activemq lib 目录......一切正常。

所以我的问题是:如果 activemq 包实际上不使用它们中的任何一个,为什么它在 /usr/share/java 中安装 150+MB 的 jar ?在我作为 Java 程序员的日子里,我会假设一个 Java 应用程序只需要捆绑它的所有依赖项并完成它,但是 activemq 将所有这些库作为依赖包引入的事实似乎表明有人不这么认为...或者这只是一个球?

debian java classpath

2
推荐指数
1
解决办法
1409
查看次数

标签 统计

classpath ×1

debian ×1

java ×1