作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试在 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/
我对如何在 Typescript 中对 API 进行建模有点困惑。 我正在尝试对 hexo 进行建模API,例如用法,看起来有点像这样: hexo.extend.tag.register(name,
我是一名优秀的程序员,十分优秀!