2012-02-08 115 views
2

我得到一个:运行生成超长命令行的java测试时避免错误?

Exception occurred executing command line. 
CreateProcess 

原因由过长的命令行(太多库,太长路径罐)从Eclipse中运行时。 对我来说,唯一的解决方案是以配置的方式运行......然后创建一个配置,删除所有默认的依赖关系,并手动添加所需的东西,所以命令行不会被截断。

我通常为jUnit测试做这件事。

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

感谢

回答

4

如果你是基于java> = 6,你可以使用classpath wildcards

这应该是足够的,除非你的文件系统周围散落着你的罐子,这需要进行一些清理。

编辑

如果你只是在Eclipse中运行JUnit测试与run as junit test那么你可以定义“用户库”,并添加到classpath中。虽然没有经过测试,但它可能受到环境变量长度限制,但我认为这是最安全的选择。

EDIT2

您可以尝试在this plugin提到this answer。它在靛蓝工作,所以我想它会在helios上工作。

+0

那么我可以使用它们,但日食是能够做到这一点吗?我使用3.6.2 helios – Toskan 2012-02-08 16:29:16

+0

@Toskan你究竟如何运行测试? – soulcheck 2012-02-08 16:53:16

+0

@Toskan看到编辑。 – soulcheck 2012-02-08 17:31:14

0

你可以玩弄分叉设置 - 如果你不分叉junit执行,你应该没问题。然而,eclipse中的类路径管理是一个很大的混乱 - 它并没有将生产和测试范围分开。

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