Używam Maven 3.0.5 i Spring Tool Source 3.2 z zainstalowaną wtyczką Maven. Kiedy próbuję wykonać „Uruchom jako ---> instalacja Mavena”, pojawia się następujący błąd:
[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
Poniżej mój 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>
Podczas instalacji mavena moim celem jest war:war
wykonanie WOJNY mojej aplikacji.
java
maven-3
maven-compiler-plugin
Rushi Shah
źródło
źródło
Odpowiedzi:
Usunięcie pełnego
.m2/repository
repozytorium lokalnego rozwiązało mój problem.Albo musisz dokładnie wiedzieć, jakich wtyczek używasz, wraz z ich zależnościami, ponieważ jedna z wtyczek napotkała problem podczas pobierania.
źródło
.m2/repository
więc nie usuwaszsettings.xml
w.m2
reżrm -rf rm -rf ~/.m2/repository/org/apache/
pracuje dla mnie.Usunięcie pełnego repozytorium lokalnego .m2 rozwiązało również mój problem.
Jeśli nie wiesz, gdzie to jest, lokalizacje to:
Unix/Mac OS X – ~/.m2/repository Windows – C:\Documents and Settings\{your-username}\.m2\repository ( %USERPROFILE%\.m2\repository too, as suggested by **MC Empero** )
źródło
%USERPROFILE%
prowadzi do katalogu profilu, w którym.m2
znajduje się folder.Dodaję więcej punktów do rozwiązania autorstwa @Rushi Shah
mvn clean install -X
pomaga zidentyfikować pierwotną przyczynę.Niektóre z ważnych faz cyklu życia kompilacji Maven to:
clean
- projekt jest czysty ze wszystkich artefaktów, które pochodziły z poprzednich kompilacjicompile
- projekt jest kompilowany do katalogu / target katalogu głównego projektuinstall
- spakowane archiwum jest kopiowane do lokalnego repozytorium mavena (można to znaleźć w katalogu domowym twojego użytkownika w /.m2)test
- testy jednostkowe są runpackage
- skompilowane źródła są pakowane do archiwum (domyślnie JAR)Znacznik 1.6 pod tagiem odnosi się do wersji JDK. Musimy zapewnić odpowiednią wersję jdk w naszym środowisku deweloperskim lub zmienić wartość na 1.7 lub 1.5 lub cokolwiek innego, jeśli aplikacja może być obsługiwana w tej wersji JDK.
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build>
Pełne informacje na temat cyklu życia kompilacji Maven można znaleźć w witrynie Maven.
źródło
Miałem ten sam problem, sprawdź zainstalowany jre używany przez Mavena w konfiguracji uruchamiania ...
W twoim przypadku myślę, że maven-compiler-plugin: jar: 2.3.2 potrzebuje jdk1.6
Aby to zrobić: Uruchom Konfiguracja> YOUR_MAVEN_BUILD> JRE> Alternatywne środowisko JRE
Mam nadzieję że to pomoże.
źródło
Czasami jest to spowodowane tym, że projekt wskazuje na JRE, a nie JDK, więc spróbuj tego,
1. Kliknij prawym przyciskiem myszy projekt -> Ścieżka kompilacji -> Konfiguruj ścieżkę kompilacji -> Dodaj bibliotekę -> Biblioteka systemowa JRE -> Środowiska -> Zainstalowane środowiska JRE -> Wskaż folder java na dysku c: (Windows ) i wybierz folder JDK i ok.
2. Usuń już obecne środowisko JRE ze ścieżki kompilacji.
źródło
Zwykle wystarczy zdefiniować wtyczkę maven-compiler-plugin. dodaj poniższe do definicji wtyczki kompilatora.
<plugin> <inherited>true</inherited> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> </plugin>
źródło
Czasami ten problem pojawia się, ponieważ wersja java.version, o której wspomniałeś w POM.xml, nie jest tą zainstalowaną na twoim komputerze.
<properties> <java.version>1.7</java.version> </properties>
Upewnij się, że w swoim pom.xml podajesz dokładnie tę samą wersję, co wersja jdk i jre obecna na twoim komputerze.
źródło
Miałem kiedyś ten problem i tak go rozwiązałem:
mvn clean verify
) z terminala w bieżącej lokalizacji projektu (gdzie istnieje plik pom.xml twojego projektu) zamiast uruchamiać maven z eclipse.źródło
Właściwie, jeśli nie chcesz usuwać swojego lokalnego .m2 / repository / ... i masz pobraną kopię Mavena z Apache, możesz poprosić Eclipse / STS o użycie tego zewnętrznego Mavena i edytować {maven} \ conf \ settings.xml, aby wskazać lokalnemu repozytorium nowe, puste miejsce.
<localRepository>C:\java\repository</localRepository>
Oczywiście, oprócz poprzedniej lokalizacji .m2, będziesz mieć nowe repozytorium ze wszystkimi pobranymi źródłami Mavena.
źródło
sprawdź
endorsed.dir
tag właściwości w swoimpom.xml
.Miałem też ten problem i naprawiłem go modyfikując właściwość.
Przykład:
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
źródło
Niekompatybilna Java 9
Wystąpił ten błąd podczas próby wywołania
mvn install
projektu.Zainstalowałem Javę 9 na macOS, a także Java 8 Update 144. Mój projekt Maven najwyraźniej wywoływał Javę 9 i zawodził. Usunąłem Javę 9 z mojego Maca, pozostawiając tylko Javę 8 na miejscu. Maven z radością buduje mój projekt do pomyślnego zakończenia.
Korzystanie z Apache Maven 3.5.0 w systemie macOS Sierra.
źródło
źródło
Dla mnie ponowne uruchomienie Eclipse pozwoliło pozbyć się tego błędu!
źródło
Myślę, że masz dwa sposoby rozwiązania tego problemu
01. Ustaw właściwości
02.Usuń plik .m2
Jeśli nie możesz rozwiązać problemu za pomocą powyższych dwóch tematów, wykonaj tę akcję Zamknij projekt. Usuń pełny folder .m2
Jak ukarać mandatem plik .m2 (Windows)
źródło
Usuń poniższy kod z pom.xml lub popraw wersję Java, aby działała.
źródło
Może możesz dodać tę zależność do swojego pom.xml. Używam tej metody i rozwiązuję problem!
<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.3.2</version> </dependency>
źródło
dla nowych użytkowników systemu Mac OS, znajdź folder .m2 i usuń go, znajduje się w katalogu /Users/.m2 .
nie zobaczysz folderu .m2 w Finderze (Eksploratorze plików), dla tego użytkownika to polecenie, aby wyświetlić ukryte pliki Mac
$ defaults napisz com.apple.finder AppleShowAllFiles TRUE
po tym naciśnij alt i kliknij finder-> uruchom ponownie, możesz zobaczyć /Users/.m2
aby ponownie ukryć pliki, po prostu użyj tego $ defaults napisz com.apple.finder AppleShowAllFiles false
źródło
Zmieniłem nazwę katalogu .m2, to jeszcze nie pomogło, więc zainstalowałem najnowszy sdk / jdk i zrestartowałem eclipse. To zadziałało.
Wygląda na to, że potrzebny był SDK, a zainstalowałem tylko JRE.
Co jest dziwne, ponieważ eclipse działało na tej samej maszynie dla innego, starszego projektu.
Zaimportowałem drugi projekt mavena, a instalacja Run / maven zakończyła się dopiero po ponownym uruchomieniu eclipse. Może więc konieczne było ponowne uruchomienie zaćmienia.
Importowanie kolejnego projektu i musiałem to zrobić
maven install
dwa razy, zanim zadziałało, mimo że ponownie uruchomiłem zaćmienie.źródło
To naprawdę niewiarygodne, aby być zmuszonym do wymazania całej zawartości .m2 / repozytorium. Proponuję wpisać to polecenie (w systemie Windows):
Ostatnie polecenie włącz opcję debugowania i przekierowuje dane wyjściowe do pliku. Otwórz plik i wyszukaj słowa kluczowe ERROR lub WARNING. Możesz znaleźć tego rodzaju wyrażenie:
DEBUG] ======================================================================= [WARNING] The POM for javax.servlet:javax.servlet-api:jar:4.0.0 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for javax.servlet:javax.servlet-api:4.0.0 [FATAL] Non-parseable POM C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom: processing instruction can not have PITarget with reserved xml name (position: END_TAG seen ...</profiles>\n\n</project>\n\n<?xml ... @160:7) @ C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom, line 160, column 7 [WARNING] The POM for org.glassfish:javax.json:jar:1.0.4 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for org.glassfish:javax.json:[unknown-version] [FATAL] Non-parseable POM C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom: processing instruction can not have PITarget with reserved xml name (position: END_TAG seen ...</profiles>\n\n</project>\n\n<?xml ... @160:7) @ C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom, line 160, column 7
W tym przypadku należy zrozumieć, że wystarczy usunąć katalog C: \ Users \ vifie.m2 \ repository \ net \ java \ jvnet-parent \ 3
Ponownie uruchom kompilację, pakowanie i tak dalej:
OSTRZEŻENIE znika tylko dlatego, że usunąłeś plik POM uszkodzony w dobrej lokalizacji i ponownie go pobrałeś. Zwykle nowy plik POM jest lepszy.
Często tryb debugowania wyświetla wiadomości z bardziej szczegółowymi informacjami.
Dlaczego przekierowuję dziennik do pliku: po prostu dlatego, że w konsoli Windows nie ma wystarczającego bufora do przechowywania wszystkich wierszy i często nie widać wszystkich wierszy.
źródło
Wypróbowaliśmy wszystko, co do tej pory wymieniono, i nadal się nie udało. Wspomniał również o błędzie
Rozwiązaniem, które ostatecznie to naprawiło, było dodanie tego do POM:
<failOnMissingWebXml>false</failOnMissingWebXml>
Jak wspomniano tutaj Błąd asemblacji WAR - atrybut webxml jest wymagany
Nasz POM zawiera teraz:
<plugin> <inherited>true</inherited> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>${maven-war-plugin.version}</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> <warName>${project.artifactId}</warName> <attachClasses>true</attachClasses> </configuration> </plugin>
źródło
Dzieje się tak, ponieważ Twój Jenkins nie może znaleźć pliku ustawień. Jeśli usunięcie .m2 nie działa, wypróbuj poniższe rozwiązanie
Przejdź do konfiguracji JOB
niż do sekcji Build
Dodaj krok budowy: - Przywołaj cel maven najwyższego poziomu i wypełnij wersję Mavena i cel
niż kliknij przycisk Advance i wspomnij ścieżkę pliku ustawień , jak wspomniano na obrazku
źródło
Dzieje się tak, ponieważ Twój Maven nie może znaleźć pliku ustawień. Jeśli usunięcie .m2 nie działa, wypróbuj poniższe rozwiązanie
Przejdź do konfiguracji JOB
niż do sekcji Build
Dodaj krok budowy: - Przywołaj cel maven najwyższego poziomu i wypełnij wersję Mavena i cel
niż kliknij przycisk Advance i wspomnij ścieżkę pliku ustawień , jak wspomniano na obrazku
źródło
Miałem ten sam problem i poza stawianiem konfiguracji powyższych postów
<plugin> <groupId>com.google.appengine</groupId> <artifactId>appengine-maven-plugin</artifactId> <version>1.9.32</version> <configuration> <enableJarClasses>false</enableJarClasses> </configuration> <executions> <execution> <goals> <goal>endpoints_get_discovery_doc</goal> </goals> </execution> </executions> </plugin>
w elemencie plugins w pom.xml. Myślę, że problemem był brak wykonania -> cel „endpoints_get_discovery_doc” w niektórych przypadkach, takich jak mój, więc to zadziałało.
źródło