#java #netbeans #maven #compilation
#java #netbeans #maven #Сборник
Вопрос:
Я часто получаю следующую ошибку при компиляции проекта maven с NetBeans:
Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.3.1:install (default-install) on project xxx: Failed to install artifact yyyy: C:....m2repository...yyyy-1.0.0.jar (Access is denied) -> [Help 1]
Я не знаю, что является причиной этого. Решение состоит в том, чтобы стереть проблемное содержимое .m2 вручную, и проблема исчезнет. Но это раздражает.
У кого-нибудь есть постоянное решение?
Редактировать
[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins:maven-install-plugin:2.3.1: установить (по умолчанию-install) в project Plasma: Не удалось установить артефакт net.dwst:Plasma: jar:1.0.0: C:….m2repositorynetdwstPlasma1.0.0Plasma-1.0.0.jar (Доступ запрещен) -> [Справка 1] org.apache.maven.lifecycle.Исключение LifecycleExecutionException: Не удалось выполнить цель org.apache.maven.plugins:maven-install-plugin:2.3.1: установить (по умолчанию-install) в project Plasma: Не удалось установить артефакт net.dwst:Plasma: jar:1.0.0: C:….m2repositorynetdwstPlasma1.0.0Plasma-1.0.0.jar (Доступ запрещен) в org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:203) в org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) в org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java: 140) в org .apache.maven.жизненный цикл.внутренний.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) в org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) в организации.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) в org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) в org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:316) в org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153) в org.apache.maven.cli.MavenCli.execute(MavenCli.java:451) в org.apache.maven.cli.MavenCli.doMain(MavenCli.java:188) в org.apache.maven.cli.MavenCli.main(MavenCli.java: 134) в sun. reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) в sun.reflect.Делегирование methodaccessorimpl.invoke(делегирование methodaccessorimpl.java:25) в java.lang.reflect.Метод.invoke(метод.java:597) в org.codehaus.plexus.classworlds.launcher.Лаунчер.launchEnhanced (Launcher.java: 290) в org.codehaus.plexus.classworlds.launcher.Лаунчер.запустите (Launcher.java: 230) в org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java: 409) в org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 352) Вызвано: org.apache.maven.plugin.Исключение MojoExecutionException: Не удалось установить артефакт net.dwst:Plasma:jar: 1.0.0: C:….m2repositorynetdwstPlasma1.0.0Plasma-1.0.0.jar (Доступ запрещен) в org.apache.maven.plugin.install.InstallMojo.execute(InstallMojo.java:139) в org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107) в org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195) … еще 19 вызвано: org.apache.maven.artifact.installer.Исключение ArtifactInstallationException: Не удалось установить артефакт net.dwst:Plasma:jar:1.0.0: C:….m2repositorynetdwstPlasma1.0.0Plasma-1.0.0.jar (Доступ запрещен) в org.apache.maven.artifact.installer.DefaultArtifactInstaller.install(DefaultArtifactInstaller.java:110) в org.apache.maven.plugin.install.InstallMojo.execute(InstallMojo.java: 103) … еще 21 Вызвано: org.sonatype.aether.installation.Исключение InstallationException: Не удалось установить артефакт net.dwst:Plasma:jar: 1.0.0: C:….m2repositorynetdwstPlasma1.0.0Plasma-1.0.0.jar (Доступ запрещен) в организации.sonatype.aether.impl.internal.DefaultInstaller.install(DefaultInstaller.java:279) в org.sonatype.aether.impl.internal.DefaultInstaller.install(DefaultInstaller.java:190) в org.sonatype.aether.impl.internal.DefaultRepositorySystem.install(DefaultRepositorySystem.java:322) в org.apache.maven.artifact.installer.DefaultArtifactInstaller.install(DefaultArtifactInstaller.java: 106) … еще 22 вызвано: java.io.FileNotFoundException: C:….m2repositorynetdwstPlasma1.0.0Plasma-1.0.0.jar (Доступ запрещен) в java.io.FileOutputStream.open (собственный метод) в java.io.FileOutputStream.(FileOutputStream.java:179) в java.io.FileOutputStream.(FileOutputStream.java:131) в org.sonatype.aether.impl.internal.DefaultFileProcessor.copy(DefaultFileProcessor.java:120) в org.sonatype.aether.impl.internal.DefaultInstaller.install(DefaultInstaller.java:255) … еще 25 [ОШИБКА] [ERROR] [ОШИБКА] Для получения дополнительной информации об ошибках и возможных решениях, пожалуйста, прочитайте следующие статьи: [ОШИБКА] [Справка 1]http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Комментарии:
1. Вы можете опубликовать результаты запуска a -e или -X, чтобы предоставить нам более подробную информацию. Я подозреваю, что какой-то другой процесс незаметно изменяет права доступа к файлам.
2. Что такое «вывод a -e или -X» в точности? Что я должен искать в отношении разрешений?
3. Журналы трассировки стека исключений и отладки соответственно.
Ответ №1:
Возможно, у вас опечатка в вашем -Dfile
аргументе. Убедитесь, что он указывает на реальный файл, а не на папку.
Т.е. Убедитесь, что у вас нет -Dfile=C:libjackson
, когда вы имеете в виду -Dfile=C:libjackson.jar
Нацеливание на папку может вызвать ошибку «Доступ запрещен», которая, похоже, не имеет смысла для реальной проблемы.
Ответ №2:
Эта проблема начала возникать после сбоя NetBeans. Я, наконец, удалил содержимое .m2 и переустановил NetBeans с нуля. Проблема исчезла. Мне все еще неясно, что могло бы вызвать это, но теперь это исчезло.
Комментарии:
1. Мой начался, когда я открыл проект в VS. Я удалил репозиторий maven, и это исправлено. Спасибо за совет!
Ответ №3:
Иногда, когда вы выполняете очистку mvn, вам следует проверить, открыли ли вы папки / target или другие сгенерированные ресурсы, поэтому закрытие всех этих папок решает проблему.
Ответ №4:
Я столкнулся с этой проблемой в Eclipse Indigo SR2, и я надеялся попробовать что-то менее радикальное, чем удаление .m2.
Я попытался снять флажок «Разрешать зависимости из проектов рабочей области», как описано в этом сообщении, но продолжал получать сообщение.
Я, наконец, заставил его работать, запустив mvn clean install
из командной строки.
Ответ №5:
Я тоже получил эту ошибку. Я решил это, сняв флажки с атрибутов папки «Только для чтения» и «Скрытый».
Комментарии:
1. Это не ответ.
Ответ №6:
Примерно через час разочарования, вот как я это исправил.
Я обновил свою среду Eclipse и использую maven-install-plugin, чтобы добавить 2 jar, которых нет ни в одном репозитории. Ранее это работало, но теперь не будет. Этот плагин автоматически добавляет jar при каждом запуске сборки.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<id>install-external1</id>
<phase>clean</phase>
<configuration>
<file>${basedir}/resources/storm-eventhubs-1.0.2-jar-with-dependencies.jar</file>
<repositoryLayout>default</repositoryLayout>
<groupId>com.microsoft.eventhubs</groupId>
<artifactId>eventhubs-storm-spout</artifactId>
<version>1.0.2</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
Я зашел в папку .m2 и изменил имя файла .pom, на который он жаловался, и бац, он создал новый и запустился. Очевидно, что в структуре папок возникла проблема с разрешениями. Попробуйте!
Комментарии:
1. если вы запустите компиляцию mvn, произойдет сбой
Ответ №7:
Я тоже получил эту ошибку, она была решена путем создания простого проекта maven.
Шаги:-
- Создайте простой проект maven вместе с вашим существующим проектом.
- Создайте этот новый проект.
- Если сборка прошла успешно, создайте свой существующий проект maven.
Ответ №8:
по некоторым причинам (Windows 7) у меня нет разрешения на доступ к указанной папке, поэтому либо вы запускаете Maven или свою IDE от имени администратора, либо пытаетесь получить доступ к папке, и у вас появится всплывающее предупреждение, и вам нужно нажать Продолжить, чтобы навсегда получить доступ к этой папке, поэтому ваша учетная запись пользователя добавляется в ACL для папки, и все!
Ответ №9:
я столкнулся с той же проблемой (для пользователей на базе Linux) причиной для меня была папка, к которой он пытался получить доступ, с правами root, поэтому любой обычный пользователь не мог получить к ней доступ.
чтобы решить эту проблему, есть 2 шага:
1. добавьте sudo в команду
sudo mvn clean compile # or any other mvn command
2. удалите родительскую папку для проекта (не .m2, папку с таким же именем, как у проекта), а затем повторите свою команду
sudo rm -r your-folder/ # inside ./m2 folder
mnv clean compile # inside your project
Ответ №10:
Ошибка была связана с параметром -Dfile, поскольку, похоже, он не принимает относительные пути. Предоставление абсолютного пути сработало для меня.
Ответ №11:
Просто запустите от имени администратора с Netbeans или любой IDE, TextEditer
Комментарии:
1. Добро пожаловать в SO! Запуск от имени администратора никогда не должен быть решением в таких случаях, поскольку это опасно и, возможно, может все испортить.