如何在 linux 的类路径中添加多个 jar 文件

2022-09-01 22:44:40

好吧,我对linux和命令行很陌生,对java也相当陌生。我得到了一个构建Java程序的实习机会。我终于在我的机器(Windows)上完成了它,现在我必须将其迁移到linux机器进行测试,然后让它作为可执行文件运行。我已经在linux上做了很多阅读和研究,并理解了类路径,但它仍然很难完全理解。它只是还没有为我点击。任何人都可以用例子以简化的方式解释类路径的目的吗?对我来说,最令人困惑的方面之一实际上是定义罐子的物理路径。我是从 usr 一路开始,还是只需要从 jvm 文件夹开始?如果它很重要,我的java程序不在jvm文件夹中。任何人都可以为我提供一些启示吗?

编辑:非常感谢你们的帮助,我不能说我完全清楚,但我对我的情况的理解要好得多。


答案 1

假设您有多个 jar 文件 a.jar,b.jar 和 c.jar。要在编译时将它们添加到类路径中,您需要执行

$javac -cp .:a.jar:b.jar:c.jar HelloWorld.java

要运行执行

$java -cp .:a.jar:b.jar:c.jar HelloWorld

答案 2

您可以使用该参数。可以使用相对路径或绝对路径。这意味着您可以使用相对于当前目录的路径,也可以使用从根目录开始的绝对路径。-classpath/

例:

bash$ java -classpath path/to/jar/file MyMainClass

在此示例中,函数位于 jar 文件中,并将包含在 jar 文件中的某个位置。mainMyMainClass

对于编译,您需要使用javac

例:

bash$ javac -classpath path/to/jar/file MyMainClass.java

您还可以通过环境变量指定类路径,以下示例如下

bash$ export CLASSPATH="path/to/jar/file:path/tojar/file2"
bash$ javac MyMainClass.java

对于任何通常复杂的java项目,您应该查找名为build.xml


推荐