Не удалось выполнить цель… maven-install-plugin … Не удалось установить артефакт… (Доступ запрещен)

#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.

Шаги:-

  1. Создайте простой проект maven вместе с вашим существующим проектом.
  2. Создайте этот новый проект.
  3. Если сборка прошла успешно, создайте свой существующий проект 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! Запуск от имени администратора никогда не должен быть решением в таких случаях, поскольку это опасно и, возможно, может все испортить.