java - 在命令提示符和 IntelliJ IDEA 中使用自定义 jar 库

标签 java intellij-idea cmd classpath

我在命令提示符下使用自定义 jar 库(来自 http://algs4.cs.princeton.edu/home/ 的 algs4.jar/stdlib.jar)时遇到问题。我将库添加到 IntelliJ 类路径设置(项目结构 -> SDK -> 类路径),并且能够使用 IntelliJ 毫无问题地使用它们的类。

不过,我也希望能够在命令提示符下使用这些库。即使我在 Windows 设置中没有设置 CLASSPATH 变量,但在使用标准 Java 库时,我已经能够在 cmd 中毫无问题地使用 javac/java。 (可能是因为 IntelliJ 在每次启动/编译时为所有标准库设置了 CLASSPATH,以便在系统范围内工作)。但是,即使在将 2 个 jar 添加到 IntelliJ 类路径设置之后,我也无法在 cmd 中使用“javac”。然后我在 Windows 设置中创建了 CLASSPATH 变量,并将 jar 添加到它们中。在此之后,我可以毫无问题地使用 javac 进行编译。但是,当我尝试在 cmd 中运行该程序时,我得到了这个:

“错误:无法找到或加载主类”。

每当我使用任何 jar 库(包括标准库)时,我都会收到此错误,而在设置 Windows CLASSPATH 之前我没有遇到任何问题。我想发生的事情是,一旦我设置了自己的 CLASSPATH,它就会覆盖 intelliJ 设置的类路径。当我删除 CLASSPATH 时,我再次能够在 cmd 中编译和运行标准库,但不能编译和运行 2 个自定义库。

请帮忙!

最佳答案

您应该通过将这些库添加到 module dependencies 来使它们成为项目的一部分作为库而不是 JDK,那么您可以 produce an artifact jar file that will have all the dependencies insidenear the jar and referenced via the jar manifest file classpath .另见 artifacts help section .

关于java - 在命令提示符和 IntelliJ IDEA 中使用自定义 jar 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11958024/

相关文章:

java - 如何生成随机对象?

java - IntelliJ想法: configure build for stub

batch-file - 批处理文件如何定位它所在的位置?

python - 属性错误 Cmd 模块

java - 如何防止 IntelliJ 在我的 JAR 中包含第 3 方 JAR?

batch-file - Grep 批量 ping

java - 什么是 NullPointerException,我该如何解决?

Java DateUtils 打印错误的日期

java - 从堆创建 JTree

android-studio - 如何在整个项目中全局更改 xml 元素的名称