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

Yec*_*kiy 3 java cmd classpath intellij-idea

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

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

"错误:无法找到或加载主类".

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

请帮忙!

Cra*_*der 6

您应该通过将这些库作为库而不是JDK 添加到模块依赖项中来使这些库成为项目的一部分,然后您可以生成一个工件jar文件,该文件将包含jar 内部附近的所有依赖项,并通过jar清单引用文件类路径.另请参见工件帮助部分.