gpt4 book ai didi

java - 如何在 Windows 中设置较长的 Java 类路径?

转载 作者:IT老高 更新时间:2023-10-28 20:44:59 26 4
gpt4 key购买 nike

我正在尝试在 Windows XP 命令行上手动运行特定的 JUnit 测试,该命令行在类路径中具有异常多的元素。我尝试了几种变体,例如:

set CLASS_PATH=C:\path\a\b\c;C:\path\e\f\g;....
set CLASS_PATH=%CLASS_PATH%;C:\path2\a\b\c;C:\path2\e\f\g;....
...
C:\apps\jdk1.6.0_07\bin\java.exe -client oracle.jdevimpl.junit.runner.TestRunner com.myco.myClass.MyTest testMethod

(其他变体将类路径全部设置在一行上,通过 -classpath 将类路径设置为 java 的参数)。它总是归结为控制台抛出此错误:

The input line is too long.
The syntax of the command is incorrect.

这是一个 JUnit 测试,测试一个相当大的现有遗留项目,所以没有关于将我的目录结构重新安排为更合理的建议,这些类型的解决方案目前已经出现。我只是想对这个项目进行快速测试并在命令行上运行它,而控制台让我望而却步。救命!

最佳答案

Windows 命令行在这方面非常有限。一种解决方法是创建一个“路径 jar”。这是一个只包含一个 Manifest.mf 文件的 jar,它的 Class-Path 指定了你的一长串 jar 等的磁盘路径。现在只需添加这个 路径 jar 到您的命令行类路径。这通常比将实际资源打包在一起更方便。

我记得,磁盘路径可以相对于 pathing jar 本身。所以 Manifest.mf 可能看起来像这样:

Class-Path: this.jar that.jar ../lib/other.jar

如果您的pathing jar 主要包含基础资源,那么它不会经常更改,但您可能仍希望在构建的某个位置生成它。例如:

<jar destfile="pathing.jar">
<manifest>
<attribute name="Class-Path" value="this.jar that.jar ../lib/other.jar"/>
</manifest>
</jar>

关于java - 如何在 Windows 中设置较长的 Java 类路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/201816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com