命令行太长。在与maven的java项目中

时间:2011-11-18 10:39:15

标签: java maven command

我有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.

4 个答案:

答案 0 :(得分:7)

我在这里找到了另一种解决方法http://code.google.com/p/gwt-maven/issues/detail?id=88 (我有改变pom以适应特定操作系统的问题)

简而言之:尽可能缩短本地存储库的路径。

” 评论40由gaurav.a ... @ gmail.com,2009年3月23日 解决“GWT编译失败的问题之一” - 输入行是 太长了。“如下:

  1. 更改m2(maven)存储库。你可能有你的maven 存储库:       C:\Documents and Settings\MahcineNameABC\.m2
  2. 从文件夹复制settings.xml文件     apache-maven-2.0.8\apache-maven-2.0.8\conf进入C:\Documents and Settings\MahcineNameABC\.m2

    settings.xml

  3. 将标记更改为      <localRepository>M:</localRepository>。现在你的m2家是一个虚拟的M盘。

  4. 创建一个存储库文件夹D:\maven-2.0.8\repository
  5. 将所有文件/文件夹从C:\Documents and Settings\MahcineNameABC\.m2\repository剪切/复制到D:\maven-2.0.8\repository
  6. 映射本地驱动器:打开命令提示符并执行(创建 虚拟驱动器):     子M:D:\maven-2.0.8\repository。现在,虚拟M驱动器将指向您的存储库。
  7. 设置环境变量M2_REPO,其值为M:
  8. 要启用长输入,请在命令提示符下执行:cmd /e:32768
  9. 这将解决由于类路径中的条目很长而导致长输入的问题 变量,至少在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以避免此问题。