在Eclipse程序编译中,而不是在终端中,导入库的冲突,gradle/javac

在Eclipse程序编译中,而不是在终端中,导入库的冲突,gradle/javac,java,eclipse,gradle,Java,Eclipse,Gradle,我正在尝试使用命令行界面运行我的程序 因此,我编写了一个基本CLI,您可以在下面看到: 在Eclipse中,我可以为它提供参数并运行它 但是,当在终端中执行程序时,它会崩溃,并抱怨找不到gradle中包含的库: 在使用javac时,为了独立地构建和运行这个文件,有必要在-cp中包含一些gradle库的指示符吗 出现此错误是因为需要指定包含此包的jar的位置,可以使用以下命令执行此操作: javac -cp ".;/path/to/jar/ApacheCommonsCli.jar;/path/to

我正在尝试使用命令行界面运行我的程序

因此,我编写了一个基本CLI,您可以在下面看到:

在Eclipse中,我可以为它提供参数并运行它

但是,当在终端中执行程序时,它会崩溃,并抱怨找不到gradle中包含的库:


在使用javac时,为了独立地构建和运行这个文件,有必要在-cp中包含一些gradle库的指示符吗

出现此错误是因为需要指定包含此包的jar的位置,可以使用以下命令执行此操作:

javac -cp ".;/path/to/jar/ApacheCommonsCli.jar;/path/to/otherjar.jar;" CommandLineParameters.java
此外,如果您使用的是gradle,则不应使用javac,而应使用gradle命令

编辑:与余数一样,jar路径是相对于运行javac的目录的,但也可以使用绝对路径,如C:/example/yourjar.jar

Edit2:另外,为了澄清:您可以在IDE中运行它,因为它负责为您管理类路径。但是,如果您使用gradle,您应该在gradle文件中指定依赖项JAR,并从中构建它。有关更多详细信息,请参阅Gradle文档