运行生成超长命令行的java测试时避免错误?

时间:2012-02-08 14:50:10

标签: java eclipse junit

我得到了:

Exception occurred executing command line.
CreateProcess

当从eclipse运行时,由于命令行太长(库太多,到jar的路径太长)。 对我来说唯一的解决方案是运行配置...然后创建配置,删除所有默认依赖项并手动添加所需的东西,这样命令行就不会被切断。

我通常在jUnit测试中这样做。

这是浪费时间,是否有不同的解决方案?

感谢

2 个答案:

答案 0 :(得分:4)

如果您使用的是java> = 6,则可以使用classpath wildcards

这应该足够了,除非你把你的jar分散在文件系统周围,这需要进行一些清理。

修改

如果您只是在eclipse中使用run as junit test运行junit测试,那么您可以定义用户库'并将其添加到类路径。但是Haven没有对它进行测试,它可能会受到窗口中环境变量长度的限制,但我认为这是最安全的选择。

<强> EDIT2

您可以尝试this plugin中提到的this answer。它适用于靛蓝,所以我猜它会对helios起作用。

答案 1 :(得分:0)

你可以使用分叉设置 - 如果你不执行fork junit,你应该没问题。但是,eclipse中的类路径管理是一个很大的混乱 - 它不会分离生产和测试范围。

真正的替代方案是工作maven构建,你应该拥有,因为eclipse不是一个合适的构建工具 - surefire插件提供了足够的替代方案来克服类路径环境短缺。