将java类路径设置为多个包含jar文件的文件夹,并从命令行运行

bfrts1fy  于 2023-03-06  发布在  Java
关注(0)|答案(2)|浏览(167)

我正在尝试使用Windows命令行运行一个简单的Java类。我已经设置了JAVA_HOME并将其添加到系统路径变量中。
我在不同的文件夹中有多个jar,我尝试使用以下命令通过类路径添加所有jar。但是,当使用“*”时,类路径只选择第一个路径,并且忽略其余路径,尽管我使用“;“字符。如果路径使用“/”分隔符,则无法执行此操作。是否可以指定包含jar文件的多个文件夹的路径并从命令行编译
javac -详细-类路径“C:\程序文件\库\java\核心*;C:\程序文件\库\java\核心\区域设置*;C:\程序文件\库\java\模块*;C:\程序文件\库\java\模块\扩展*;testClass.java
最后,我希望在Netbeans项目属性中的Ant脚本中使用这个类路径设置来简化设置。

1l5u6lss

1l5u6lss1#

下面是最终按预期工作的解决方案。当在我的特定场景的类路径中使用'*'字符时,它跳过了第一个路径之后的所有内容。对每个路径分别使用双引号(“),然后使用“;“,因为分隔符是解决方案。
分号前后有空格“;“也行不通

javac -verbose -classpath "C:\Program Files\lib\java\core\\*";"C:\Program Files\lib\java\core\locale\\*";"C:\Program Files\lib\java\modules\\*";"C:\Program Files\lib\java\modules\ext\\*" testClass.java
yqlxgs2m

yqlxgs2m2#

如果您在不同的目录中有jar,那么您需要将类路径设置为所有这些目录。
windows

java -cp ./folder1/*;./folder2/*;./folder3/* com.xyz.MainClass

Linux(;已更改为:)

java -cp ./folder1/*:./folder2/*:./folder3/* com.xyz.MainClass

相关问题