Командная строка слишком длинная.в проекте Java с Maven - PullRequest
5 голосов
/ 18 ноября 2011

У меня есть проект Maven-GWT.У него много зависимостей, что обычно для большого проекта.Я думаю, что это на пределе с созданием classpath.Я нашел некоторую информацию об ограничении.Разрешено 1023 символов.Но мне нужны библиотеки.

Я получаю следующую ошибку, когда хочу упаковать свой проект с 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 ]

7 голосов
/ 21 ноября 2011

Я нашел другой обходной путь здесь http://code.google.com/p/gwt-maven/issues/detail?id=88 (у меня проблема с изменением pom для соответствия конкретной ОС)

Короче говоря: сделайте путь к локальному репозиторию максимально коротким.

"Комментарий 40 от gaurav.a ... @ gmail.com, 23 марта 2009 г. Один из способов решения проблемы" Сбой компиляции 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. Подключить локальный диск: открыть командную строку и выполнить (для создания виртуального диска): subst M: D:\maven-2.0.8\repository. Теперь виртуальный диск M будет указывать на ваш репозиторий.
  7. Установите переменную среды M2_REPO со значением M:
  8. Чтобы включить длинные входные данные, в командной строке выполните: cmd /e:32768

Это решит проблему длинных входных данных из-за очень длинных записей в переменных пути к классам, по крайней мере, в Win XP SP2.Входные данные объединяются и проверяются из комментариев № 22 и № 7.

Надеюсь, это поможет!

Это должно помочь в большинстве случаев (и до конца проекта - по крайней мере, в моем случае)

2 голосов
/ 18 ноября 2011

Кажется, это известная проблема с gwt-maven. Существует обсуждение групп gwt-maven google: Временное решение для ограничения длины командной строки Windows

Кажется, проблема в том, что исходники включены в тестовый путь к классу, поэтому у вас возникают проблемы при запуске безошибочно:

Обходной путь - исключить зависимость от источников, сделать ее системной областью (из приведенного выше потока):

    <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, прежде чем продолжить это.

1 голос
/ 13 апреля 2015

Если вы используете Intellij, в workspace.xml есть настройка, которая решает эту проблему. Существует существующий пост об этом .

0 голосов
/ 07 сентября 2013

Начиная с версии 2.5.0-rc1, в плагине GWT Maven появилась новая опция: «genParam». Установите для этого параметра значение false, чтобы избежать этой проблемы.

...