Java 在 CLASSPATH 中找不到库

Java 在 CLASSPATH 中找不到库

我有一个 JAR 文件,它有许多依赖项(主要是 ApacheCommons 的东西)。当我将所有这些 JAR 放在与我的主要 JAR 相同的目录中时,一切都运行正常。但这会造成混乱,这也意味着人们在系统上移动我的程序的 JAR 时必须携带所有这些外部库。

因此,我将它们全部放在一个单独的目录中,并将该目录的路径添加到 CLASSPATH 环境变量中(使用/etc/environment)。现在,即使echo $CLASSPATH返回该路径,仍然在同一目录中运行没有这些库的 JAR 会导致java.lang.NoClassDefFoundError(当找不到所需的外部 JAR 时会发生这种情况)。

如能得到任何帮助/想法我将非常感激。

答案1

这不是一个真正的 ubuntu 问题,请参阅此问题在 stackoverflow 上。

CLASSPATH 变量不列出 jar 文件的路径,而是列出 Java 类文件的路径。要将 jav 文件包含在类路径中,您必须将 jar 文件的文件名放入类路径中(例如CLASSPATH=/path/to/some/jar/file/jarfile.jar)。

相关内容