Я использую Maven 3.0.5 и Spring Tool Source 3.2 с установленным плагином Maven. Когда я пытаюсь выполнить «Запуск от имени ---> Установка Maven», я получаю следующую ошибку:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Spring Social Twitter4J Sample 1.0.0
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.apache.maven.plugins:maven-war-plugin:jar:2.1.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.apache.maven.plugins:maven-install-plugin:jar:2.3.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ spring-social-twitter4j ---
[debug] execute contextualize
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 15 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ spring-social-twitter4j ---
[WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
Jun 21, 2013 2:14:32 AM org.sonatype.guice.bean.reflect.Logs$JULSink warn
WARNING: Error injecting: org.apache.maven.plugin.CompilerMojo
**java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/CompilerException**
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getDeclaredConstructors(Unknown Source)
at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)
at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:98)
at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:629)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:831)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:758)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:255)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:204)
at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:954)
at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:987)
at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:950)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1000)
at org.sonatype.guice.bean.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:45)
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:84)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:52)
at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
at org.sonatype.guice.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:138)
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:108)
at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
at com.google.inject.Scopes$1$1.get(Scopes.java:59)
at org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:83)
at org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:49)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:253)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:245)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:455)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:92)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.compiler.CompilerException
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
... 54 more
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.749s
[INFO] Finished at: Fri Jun 21 02:14:32 IST 2013
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
**[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project spring-social-twitter4j: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile failed: A required class was missing while executing org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile: org/codehaus/plexus/compiler/CompilerException**
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.apache.maven.plugins:maven-compiler-plugin:2.3.2
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/SS%20Computer/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar
[ERROR] urls[1] = file:/C:/Users/SS%20Computer/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------: org.codehaus.plexus.compiler.CompilerException
[ERROR] -> [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/PluginContainerException
Ниже мой pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework.social.samples</groupId>
<artifactId>spring-social-twitter4j</artifactId>
<name>Spring Social Twitter4J Sample</name>
<packaging>war</packaging>
<version>1.0.0</version>
<properties>
<java-version>1.6</java-version>
<org.springframework.social-version>1.1.0.BUILD-SNAPSHOT</org.springframework.social-version>
<org.springframework-version>3.2.1.RELEASE</org.springframework-version>
<org.springframework.security-version>3.1.3.RELEASE</org.springframework.security-version>
<org.slf4j-version>1.7.2</org.slf4j-version>
</properties>
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${org.springframework.security-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${org.springframework.security-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${org.springframework.security-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-core</artifactId>
<version>${org.springframework.social-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-web</artifactId>
<version>${org.springframework.social-version}</version>
</dependency>
<!-- Twitter4J -->
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>2.2.3</version>
</dependency>
<!-- JSR 303 with Hibernate Validator -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.1.0.Final</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.159</version>
</dependency>
<!-- @Inject -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<!-- CGLIB, only required and used for @Configuration usage -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2</version>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jstl-impl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>org.springframework.maven.release</id>
<name>Spring Maven Release Repository</name>
<url>http://maven.springframework.org/release</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
<!-- For testing against latest Spring snapshots -->
<repository>
<id>org.springframework.maven.snapshot</id>
<name>Spring Maven Snapshot Repository</name>
<url>http://maven.springframework.org/snapshot</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<!-- For developing against latest Spring milestones -->
<repository>
<id>org.springframework.maven.milestone</id>
<name>Spring Maven Milestone Repository</name>
<url>http://maven.springframework.org/milestone</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<warName>spring-social-twitter4j</warName>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
</plugin>
</plugins>
</build>
</project>
Во время установки maven моя цель - war:war
сделать WAR моего приложения.
java
maven-3
maven-compiler-plugin
Руши Шах
источник
источник
Ответы:
Удаление полного
.m2/repository
локального репозитория решило мою проблему.Или вам нужно точно знать, какие плагины вы используете, с их зависимостями, поскольку один из плагинов столкнулся с проблемой при загрузке.
источник
.m2/repository
чтобы вы не удаляли егоsettings.xml
в.m2
каталогеrm -rf rm -rf ~/.m2/repository/org/apache/
работает для меня.Удаление полного локального репозитория .m2 тоже решило мою проблему.
Если вы не знаете, где он находится, это следующие места:
источник
%USERPROFILE%
приведет вас в каталог вашего профиля, в котором находится.m2
папка.Я добавляю больше очков к решению @Rushi Shah
mvn clean install -X
помогает определить основную причину.Некоторые из важных этапов жизненного цикла сборки Maven:
clean
- проект очищен от всех артефактов, которые пришли из предыдущих компиляцийcompile
- проект компилируется в / target каталог корня проектаinstall
- упакованный архив копируется в локальный репозиторий maven (может быть в домашнем каталоге вашего пользователя в /.m2)test
- модульные тесты runpackage
- скомпилированные исходники упаковываются в архив (по умолчанию JAR)Тег 1.6 ниже относится к версии JDK. Нам нужно обеспечить правильную версию jdk в нашей среде разработки или изменить значение на 1,7 или 1,5 или что-то еще, если приложение может поддерживаться в этой версии JDK.
Полную информацию о жизненном цикле сборки Maven можно найти на сайте Maven.
источник
У меня была такая же проблема, проверьте установленную jre, используемую Maven в вашей конфигурации запуска ...
В вашем случае я думаю, что maven-compiler-plugin: jar: 2.3.2 нуждается в jdk1.6
Для этого: запустите Configuration> YOUR_MAVEN_BUILD> JRE> Alternate JRE.
Надеюсь это поможет.
источник
Иногда это вызвано тем, что проект указывает на JRE, а не на JDK. Так что попробуйте это,
1. Щелкните правой кнопкой мыши проект -> Путь сборки -> Настроить путь сборки -> Добавить библиотеку -> Системная библиотека JRE -> Среды -> Установленные JRE -> Укажите папку java на диске c: (Windows ) и выберите папку JDK и ок.
2. Удалите уже существующую JRE из пути сборки.
источник
Обычно достаточно определить maven-compiler-plugin. добавьте следующее в определение вашего плагина компилятора.
источник
Иногда эта проблема возникает из-за того, что java.version, который вы упомянули в POM.xml, не тот, который установлен на вашем компьютере.
Убедитесь, что вы точно указали ту же версию в своем pom.xml, что и версии jdk и jre, присутствующие на вашем компьютере.
источник
Однажды у меня была эта проблема, и вот как я ее решил:
mvn clean verify
) с терминала в текущем местоположении проекта (где существует файл pom.xml вашего проекта) вместо запуска maven из eclipse.источник
На самом деле, если вы не хотите удалять свой локальный .m2 / repository / ... и у вас есть загруженная копия Maven с Apache, вы можете использовать Eclipse / STS этот внешний Maven, и вы можете редактировать {maven} \ conf \ settings.xml, чтобы указать ваш localRepository на новое пустое место.
Конечно, у вас будет новый репозиторий со всеми загрузками исходного кода maven в дополнение к вашему предыдущему местоположению .m2.
источник
проверьте
endorsed.dir
тег свойства в вашемpom.xml
.У меня тоже была эта проблема, и я исправил ее, изменив свойство.
Пример:
источник
Java 9 несовместима
Я получил эту ошибку при попытке вызова
mvn install
проекта.Я установил Java 9 на macOS, а также Java 8 Update 144. Мой проект Maven, очевидно, вызывал Java 9 и терпел неудачу. Удалил Java 9 с моего Mac, оставив только Java 8 на месте. Сейчас Maven с радостью доводит мой проект до успешного завершения.
Использование Apache Maven 3.5.0 в macOS Sierra.
источник
источник
Для меня перезапуск Eclipse избавил от этой ошибки!
источник
Я думаю, у вас есть два способа решить эту проблему
01. Установить свойства
02. Удалить файл .m2
Если вы не можете решить свою проблему, используя две вышеупомянутые темы, получите это действие Закройте свой проект. Удалите всю папку .m2
Как оштрафовать файл .m2 (windows)
источник
Возможно, вы можете добавить эту зависимость в свой pom.xml. Пользуюсь этим методом и решаю проблему!
источник
для новых пользователей Mac OS: найдите папку .m2 и удалите ее в каталоге /Users/.m2 .
вы не увидите папку .m2 в поисковике (проводнике), для этого пользователя эта команда показывает скрытые файлы Mac
$ defaults написать com.apple.finder AppleShowAllFiles ИСТИНА
после этого нажмите alt и нажмите Finder-> перезапустить, вы увидите /Users/.m2
чтобы снова скрыть файлы, просто используйте это значение по умолчанию, напишите com.apple.finder AppleShowAllFiles false
источник
Я переименовал каталог .m2, это пока не помогло, поэтому я установил новейший sdk / jdk и перезапустил eclipse. Это сработало.
Кажется, нужен был SDK, а я установил только JRE.
Что странно, потому что eclipse работал на той же машине для другого старого проекта.
Я импортировал второй проект maven, и установка Run / maven завершилась только после перезапуска eclipse. Так что, возможно, потребовался перезапуск eclipse.
Импортировал еще один проект, и мне пришлось сделать это
maven install
дважды, прежде чем он сработал, хотя я перезапустил eclipse.источник
Это действительно невероятно - быть обязанным стереть все содержимое .m2 / репозитория. Я предлагаю ввести эту команду (в Windows):
Последняя команда включает параметр отладки и перенаправляет вывод в файл. Откройте файл и выполните поиск по ключевым словам ERROR или WARNING. Вы можете найти такое выражение:
В этом случае следует понимать, что вам нужно просто удалить каталог C: \ Users \ vifie.m2 \ repository \ net \ java \ jvnet-parent \ 3
Перезапустить компиляцию, упаковку и так далее:
ПРЕДУПРЕЖДЕНИЕ исчезнет только потому, что вы удалите файл POM, поврежденный в хорошем месте, и повторно загрузите его. Обычно новый файл POM лучше.
Часто режим отладки дает вам сообщения с более подробной информацией.
Почему я перенаправляю журнал в файл: просто потому, что в консоли Windows недостаточно буфера для хранения всех строк, и часто вы не можете видеть все строки.
источник
Мы перепробовали все перечисленное, но все равно не удалось. Ошибка также упоминается
Решение, которое окончательно исправило это, добавило это в POM:
Как упоминалось здесь Ошибка сборки WAR - требуется атрибут webxml
Наш POM теперь содержит это:
источник
Удалите приведенный ниже код из pom.xml или исправьте версию Java, чтобы она работала.
источник
У меня была такая же проблема, и помимо конфигураций вышеупомянутых сообщений,
в элементе plugins в pom.xml. Я думаю, что проблема заключалась в отсутствии выполнения -> цель "endpoints_get_discovery_doc" в некоторых случаях, подобных моему, так что это сработало для меня.
источник