Подтвердить что ты не робот

Maven... Не удалось очистить проект: не удалось удалить..\org.ow2.util.asm-asm-tree-3.1.jar

Я использую набор инструментов STS (spring) + maven.

Каждый раз, когда я запускаю свое приложение с помощью maven-clean, я вижу следующую ошибку:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building hhsystem ui 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ ui ---
[INFO] Deleting C:\Users\Nikolay_Tkachev\workspace\HHSystem\UI\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.471s
[INFO] Finished at: Mon Oct 21 12:34:33 MSK 2013
[INFO] Final Memory: 2M/90M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.4.1:clean (default-clean) on project ui: Failed to clean project: Failed to delete C:\Users\Nikolay_Tkachev\workspace\HHSystem\UI\target\org.ow2.util.asm-asm-tree-3.1.jar -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Мне нужно закрыть STS и перейти к C:\Users\Nikolay_Tkachev\workspace\HHSystem\UI\target и удалить org.ow2.util.asm-asm-tree-3.1.jar

После запуска STS снова это работает, но это хлопот.

Можете ли вы помочь мне с этой проблемой?

UPDATE
для Калатоки L.

Я запускаю maven-clean из этого состояния:

STS screen shot

Я вижу такое же поведение из командной строки, как и из плагина eclipse

Если я смотрю разблокировку при запуске STS, я вижу

unlocker screen shot:

4b9b3361

Ответ 1

Остановите свой сервер, прежде чем начать очистку.

Остановка сервера

Вы можете остановить сервер из представления Servers.

Чтобы остановить сервер:

  • В представлении "Серверы" (Окно > Показать представление > Другое > Сервеp > Серверы > OK), выберите сервер, который вы хотите остановить.
  • Нажмите значок Остановить сервер this в панели инструментов. В представлении "Серверы" статус сервера изменяется на "Остановлен".
  • Если по какой-либо причине сервер не может остановиться, вы можете завершить выполните следующее:

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

    б. В представлении "Процесс" выберите серверный процесс, который вы хотите остановить.

    с. Нажмите Завершить This is an image of the Terminate значок на панели инструментов.

Примечание.. При завершении работы сервера процесс сервера завершается, и сервер не будет проходить обычную процедуру остановки, например, вызов метода destroy() на сервлет.

Источник: Справка Eclipse

Ответ 3

Удалите java.exe-процесс в Диспетчере задач и запустите mvn clean install.It работал у меня.

Ответ 4

Ваша проблема в том, что запущенный процесс в STS использует файлы, находящиеся в вашем целевом каталоге, при выполнении команды mvn clean. Maven не сможет удалить эти файлы (поскольку другие процессы все еще обращаются к ним) и, таким образом, сбой с этой ошибкой.

Попробуйте остановить все процессы (тесты, серверы, приложения) изнутри STS перед запуском команд консоли Maven. Посмотрите: это поведение также может появиться, если STS очищает проекты и, следовательно, повторно компилирует источники и не запускает процесс.

Ответ 5

Возможно, существует много процессов, которые используют исходные компиляции, могут быть сервером, старой командой maven или IDE. Конечно, прекратите все процессы, остановите сервер, а затем снова выполните maven. Если проблема не устранена, вы должны закрыть процесс java.exe.

Привет!

Ответ 6

Попробуйте отключить Project- > Build Automatically.

Как сказал Скорпион, там работает процесс, который где-то блокировал файл.

У меня есть большой многомодульный проект maven, который регулярно терпит неудачу в чистом виде, и это разрешает это для меня. Я снова включаю Build Automatically, когда закончите.

Ответ 7

Закройте целевую папку и ее файл, который вы открыли, прежде чем mvn clean

Ответ 8

Резюме: Используйте внешний script (пакетный файл), который: а) останавливает сервер и б) разблокирует файл .jar перед запуском maven-clean.

Шаги:

  • Привязать maven-antrun-plugin: запустить цель в предварительно очищенную фазу mvn clean. Посмотрите, как это сделать здесь

  • Посмотрите, как использовать плагин antrun для запуска внешнего командного файла в Windows здесь: sblundy ответ на "Запуск внешнего процесса" . Позвоните в этот файл unlock_handles.bat

  • Используйте утилиту Sysinternals handle ссылку для скачивания в файле pre_clean.bat, чтобы: a) остановить Tomcat и b) разблокировать файл .jar. handle -c и handle -p.

Уф! Это небольшая работа, но она будет надежно автоматизировать процесс для вас, так что вам нужно делать это вручную каждый раз!


ОК, вот вам примерная версия unlock_handles.bat с доказательством концепции:

REM "Use handle.exe to figure out the process id and handle ids, parse the output, then close the handle (again using handle.exe)"

cd "C:\Users\Nikolay_Tkachev\workspace\HHSystem\UI\target"
"c:/Program Files/Process Explorer/handle.exe" -p java.exe "C:\Users\Nikolay_Tkachev\workspace\HHSystem\UI\target" > handles.txt

@echo "O====== Going to unlock all the below file handles! =======O"
FOR /F "tokens=1-26 delims=: " %a in (handles.txt) DO @echo %h
FOR /F "tokens=1-26 delims=: " %a in (handles.txt) DO handle -p %c -c %f -y

Конечно, вы должны изменить путь к файлу handle.exe Sysinternals перед тем, как попробовать.

Ответ 9

У меня такая же проблема, и это

mvn clean install -U

исправлена ​​ошибка.

Ответ 10

Если все шаги (в существующих ответах) не работают, просто закройте затмение и снова закройте eclipse.

Ответ 11

Для пользователей Linux: возможное решение.

Ошибка сборки из-за ошибки "Не удалось удалить < any-file-or-folder > " произойдет, если есть вероятность, что доступ к данным, доступный только для пользователя root, предоставляется только нормальным -user.

Исправить: введите команду ll для отображения файла, который не может быть удален, если для файла предоставлен root-доступ, измените его на обычного пользователя:

sudo chown -R имя_пользователя: имя_файла имени пользователя

Позже попробуйте maven clean и build.

Ответ 12

У меня была аналогичная проблема. Раньше я использовал Maven 3 для создания проекта. После переключения на maven 2 у меня была ошибка выше.

Решил его, переключившись на Maven 3.

Ответ 13

Я решил мой, выполнив:

  • мвн чистый
  • установить MVN
  • mvn clean install

По некоторым причинам это сработало для меня. Удачи !!

Ответ 14

Если вы заблокируете org.ow2.util.asm-asm-tree-3.1.jar и запустите eclipse, в журнале показывается, кто не смог заблокировать файл. Та же самая кодовая строка, которая не может заблокировать файл, не освободит блокировку.

Ответ 15

В фазе предварительной очистки я запускаю программу Maven Unlocker. Эта программа разблокирует все файлы и каталог для любой программы.

Я выполняю это с помощью maven-antrun-plugin и только в системах Windows

<profile>
  <activation>
    <os>
      <family>windows</family>
    </os>
  </activation>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <phase>pre-clean</phase>
            <configuration>
              <tasks>
                <exec dir="${project.build.directory}" executable="cmd" failonerror="false">
                  <arg value="Unlocker.exe" />
                  <arg value="/S" />
                </exec>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</profile>

Ответ 16

Maven жалуется, если у вас нет прав администратора в целевой папке. Проверьте, есть ли у администратора право удалить эту папку.

введите описание изображения здесь

Ответ 17

Удалите целевой файл и закройте редактор кода, затем снова откройте, он обязательно будет работать. Этот временно ищет постоянный.

Ответ 18

Пожалуйста, закройте все вкладки браузера. И в следующий раз, когда вы попытаетесь загрузить войну из другого места, кроме целевой папки.

Ответ 19

Если вы столкнетесь с этой ошибкой в IDE, такой как Eclipse или IntelliJ, у вас может быть одно или несколько окон отладки, открытых и приостановленных на точке останова. Прекратить их.

Ответ 20

У меня была эта проблема при попытке вызвать mvn clean install после отправки коллеге по электронной почте с.jar из /target через Microsoft Outlook.

Мне пришлось закрыть Microsoft Outlook, чтобы вызвать mvn clean install.