maven-release-plugin: выполнить не удалось, так как «рабочий каталог" ... workspace \ target \ checkout \ workspace "не существует!" - PullRequest
1 голос
/ 10 мая 2010

У меня есть проект maven, который завершается неудачно при выпуске: вызывается выполнение, хотя выпуск, подготовка работает как положено.

Я нашел сообщение об ошибке (ниже), которое, похоже, похоже на проблему, с которой я столкнулся, но не совсем уверен, что понимаю проблему: MRELEASE516

Последние несколько строк вывода я получаю:

[INFO] Executing: cmd.exe /X /C "p4 -d E:\hudson\jobs\myHudsonJob\workspace\target\checkout -p 1.1.1.1:1111: client -d myProjectWorkspace-MavenSCM-E:\hudson\jobs\myHudsonJob\workspace\target\checkout"
[INFO] Executing goals 'deploy'...
[WARNING] Base directory is a file. Using base directory as POM location.
[WARNING] Maven will be executed in interactive mode, but no input stream has been configured for this MavenInvoker instance.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error executing Maven.

Working directory "E:\hudson\jobs\myHudsonJob\workspace\target\checkout\workspace" does not exist!

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

/workspace
|
|+ pom.xml (root pom whose parent is the build pom, 
|           calling release:perform on this pom)
|           [Modules: moduleA and moduleB]
|
|- moduleA
   |+ pom.xml (parent is also build pom)
   |+ build/pom.xml (the build pom - no custom parent)
|- moduleB
   |+ pom.xml (parent is build pom)

Кажется, что корневая помпа должна находиться в некотором общем каталоге внутри «рабочего пространства» из-за ошибки, но попробовала это и не работает, и не имеет смысла, зачем мне это нужно.

Что означает предупреждение Базовый каталог - это файл , который я хочу сделать вместо этого ?! Затем он показывает, что базовым каталогом является рабочее пространство , что означает, что рабочий каталог не найден ... есть идеи?

Заранее спасибо.

EDIT:

После проверки конфигурации SCM все выглядит нормально для меня ... в каждом модуле и у корневого модуля:

<scm>
<connection>
    scm:perforce:1.1.1.1:1111://rootToDirectoryContainingRelevantPom
</connection>
<developerConnection>
    scm:perforce:1.1.1.1:1111://rootToDirectoryContainingRelevantPom
</developerConnection>
</scm>

РЕДАКТИРОВАТЬ 2:

Может быть, я нажал MRELEASE-261 ?

Ответы [ 5 ]

0 голосов
/ 01 сентября 2016

Эта ошибка возникла у нас

Working directory E:\Data\myproject\target\checkout does not exist!

Мы находимся в середине большого перехода серверных инструментов, и release:prepare maven, похоже, молча терпел неудачу, утверждая, что изменения тегов и номера версии были перенесены без ошибок. Однако после некоторого исследования эти вещи были переданы только в локальный репозиторий git, а не отправлены - хотя release:prepare выполнял команды для выполнения push, но никогда не сообщал о сбое - даже с maven -e и -X параметры командной строки.

Мы используем Maven 3.3.9, плагин релиза maven 2.5.3 и git client 2.9.2.

Нашим конечным решением было добавить (или исправить, в зависимости от вашего случая) определение в файле maven ~\.m2\settings.xml для нашего git-сервера (master-устройства источника), включая имя пользователя и пароль с привилегиями для отправки теги (а также нажимать на мастера). id в определении сервера для git-сервера должно быть именем хоста git-сервера:

<servers>
  <server>
    <id>git-server</id>
    <username>dan</username>
    <password>changeit</password>
  </server>
<servers>

С этим обновлением тег завершается на сервере, и проверка прошла успешно.

0 голосов
/ 11 апреля 2012

В моем случае те же симптомы оказались результатом ошибки в maven-release-plugin: 2.2.1. См. MRELEASE-705 .

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

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.0</version>
        </plugin>
    </plugins>
</build>
0 голосов
/ 10 мая 2010
Working directory "E:\hudson\jobs\myHudsonJob\workspace\target\checkout\workspace" does not exist!

Я только что увидел вышеуказанную строку в вашем журнале. Похоже, у вас где-то есть какая-то винтовая дорожка. Вы перезаписываете где-нибудь рабочее пространство? Проверьте свою конфигурацию и постарайтесь максимально исключить дополнительные параметры.

0 голосов
/ 04 августа 2011

Я получил это с помощью более новой версии плагина релиза. Maven super pom зависит от версии 2.0 определенного плагина релиза. Если вы не переопределите это, то будет использоваться версия.

Вы можете указать более новую версию при запуске плагина

  mvn org.apache.maven.plugins:maven-release-plugin:2.2.1:perform

Или вы можете переопределить версию зависимости в вашем pom

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.2.1</version>
  </plugin>
0 голосов
/ 10 мая 2010

Я не уверен, что вы сталкиваетесь с MRELEASE-516 (что около release:prepare). Однако мне интересно, есть ли у вас правильные <scm> данные в каждом POM. Вы можете это подтвердить?

...