如何在我的 Java 程序的类路径中放置一些东西?

How do I place something in the classpath of my Java program?

我不太确定类路径是如何工作的,如果这是一个愚蠢的问题,我什至很抱歉,但我在使用 API 时遇到错误,说 SLF4J 无法访问 org. slf4j.impl.StaticLoggerBinder。我正在查看 SLF4J 文档,它提到如果有人真的不关心这个不加载,我不关心(希望 API 也不关心),那么“放置 slf4j-nop.jar在您的应用程序的类路径上。"

我只能找到关于如何设置我的 OS 类路径之类的东西,我不确定如果确实如此,我是否能够做到这一点我需要做什么,因为它是从我正在使用的 API 的 gradle 安装的依赖项。

提前致谢!

来自Oracle Docs

The preferred way to specify the class path is by using the -cp command line switch. This allows the CLASSPATH to be set individually for each application without affecting other applications. Setting the CLASSPATH can be tricky and should be performed with care.

即:

  • 在运行程序时指定.jar文件所在的目录:
$ java -cp /path/to/slf4j-nop.jar -otherflags /path/to/Class.java
  • 将 .jar 文件复制到文件所在的目录(或者实际上,您 运行 java 命令所在的目录)。来自同一文档:

The default value of the class path is ".", meaning that only the current directory is searched.