我有maven-gwt项目。它有很多依赖,这是大型项目通常的。我认为它在创建classpath时处于极限。我找到了一些有关限制的信息。允许的是1023字符。但我需要这些库。
当我想打包我的项目mit Maven
时,我收到以下错误。
The command line is too long.
如何解决问题。?
以下是Jenkins中的扩展错误:
[INFO] --- maven-surefire-plugin:2.5:test (default-test) @ MyProject ---
[INFO] Surefire report directory: C:\Documents and Settings\User\.jenkins\workspace\Myproject\target\surefire-reports
The command line is too long.
The command line is too long.
[ERROR] There are test failures.
答案 0 :(得分:7)
我在这里找到了另一种解决方法http://code.google.com/p/gwt-maven/issues/detail?id=88 (我有改变pom以适应特定操作系统的问题)
简而言之:尽可能缩短本地存储库的路径。
” 评论40由gaurav.a ... @ gmail.com,2009年3月23日 解决“GWT编译失败的问题之一” - 输入行是 太长了。“如下:
C:\Documents and Settings\MahcineNameABC\.m2
从文件夹复制settings.xml文件
apache-maven-2.0.8\apache-maven-2.0.8\conf
进入C:\Documents and Settings\MahcineNameABC\.m2
在 settings.xml :
将标记更改为
<localRepository>M:</localRepository>
。现在你的m2家是一个虚拟的M盘。
D:\maven-2.0.8\repository
C:\Documents and Settings\MahcineNameABC\.m2\repository
剪切/复制到D:\maven-2.0.8\repository
D:\maven-2.0.8\repository
。现在,虚拟M驱动器将指向您的存储库。cmd /e:32768
这将解决由于类路径中的条目很长而导致长输入的问题 变量,至少在Win XP SP2中。输入结合并在评论#22中进行测试 和#7。
希望它有所帮助!
这在大多数情况下应该有所帮助(直到项目结束 - 至少在我的情况下)
答案 1 :(得分:2)
这似乎是gwt-maven的一个已知问题。有关gwt-maven google群组的讨论:Workaround for windows command line length limit
问题似乎是源代码包含在测试类路径中,因此当你运行surefire时会出现问题:
解决方法是排除源依赖项,使其成为系统范围(来自上面的线程):
<dependency>
<!-- non existant artifact ID required (-source) maven bug?? -->
<artifactId>myproject-rpc-source</artifactId>
<groupId>${project.groupId}</groupId>
<version>${project.version}</version>
<classifier>sources</classifier>
<!-- hack below as maven only incudes provdied in test scope -->
<scope>system</scope>
<systemPath>${basedir}/../rpc/target/myproject-rpc-${project.version}-sources.jar</systemPath>
</dependency>
但在完成此操作之前,我会完全阅读并理解Google群组主题。
答案 2 :(得分:1)
如果您使用的是Intellij,则workspace.xml中有一个设置可以解决此问题。有existing post about this。
答案 3 :(得分:-1)
从2.5.0-rc1开始,GWT Maven插件有一个新选项:“genParam”。将此参数设置为false以避免此问题。