Um meine Webapp problemlos ausführen zu können, entschied ich mich, Jetty zu meiner einzelnen POM-Datei hinzuzufügen.
Nach der offiziellen Dokumentation habe ich dies zu meinem <plugins>
hinzugefügt:
<plugin>
<groupId>org.Eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.0-SNAPSHOT</version>
</plugin>
PROBLEM: mvn jetty:run
schlägt fehl:
$ mvn jetty:start
[INFO] Scanning for projects...
[WARNING] The POM for org.Eclipse.jetty:jetty-maven-plugin:jar:9.4.0-SNAPSHOT is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for org.Eclipse.jetty:jetty-maven-plugin:9.4.0-SNAPSHOT: Plugin org.Eclipse.jetty:jetty-maven-plugin:9.4.0-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact org.Eclipse.jetty:jetty-maven-plugin:jar:9.4.0-SNAPSHOT
Downloading: https://repo.maven.Apache.org/maven2/org/Apache/maven/plugins/maven-metadata.xml
Downloading: https://repo.maven.Apache.org/maven2/org/codehaus/mojo/maven-metadata.xml
Downloaded: https://repo.maven.Apache.org/maven2/org/Apache/maven/plugins/maven-metadata.xml (13 KB at 2.1 KB/sec)
Downloaded: https://repo.maven.Apache.org/maven2/org/codehaus/mojo/maven-metadata.xml (20 KB at 3.2 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.013 s
[INFO] Finished at: 2016-08-17T16:49:28+09:00
[INFO] Final Memory: 14M/307M
[INFO] ------------------------------------------------------------------------
[ERROR] No plugin found for prefix 'jetty' in the current project and in the plugin groups [org.Apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/home/nico/.m2/repository), central (https://repo.maven.Apache.org/maven2)] -> [Help 1]
Ein anderer Ansatz unter https://mvnrepository.com/artifact/org.Eclipse.jetty/jetty-maven-plugin/9.4.0.M0 schlägt vor, dies in <dependencies>
hinzuzufügen:
<dependency>
<groupId>org.Eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.0.M0</version>
</dependency>
Es schlägt auch fehl, mvn jetty:start
sagt:
[ERROR] No plugin found for prefix 'jetty' in the current project and in the plugin groups [org.Apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/home/nico/.m2/repository), central (https://repo.maven.Apache.org/maven2)] -> [Help 1]
Ich entfernte meinen .m2
-Ordner und ließ es von Maven neu erstellen, nicht besser. Ich habe keinen settings.xml
in ~/.m2
und hier ist der Inhalt von ~/.m2/repository/org/Eclipse/jetty/jetty-maven-plugin/9.4.0.M0/
:
-rw-rw-r-- 1 nico nico 101524 8月 24 17:29 jetty-maven-plugin-9.4.0.M0.jar
-rw-rw-r-- 1 nico nico 40 8月 24 17:29 jetty-maven-plugin-9.4.0.M0.jar.sha1
-rw-rw-r-- 1 nico nico 5526 8月 24 17:28 jetty-maven-plugin-9.4.0.M0.pom
-rw-rw-r-- 1 nico nico 40 8月 24 17:28 jetty-maven-plugin-9.4.0.M0.pom.sha1
-rw-rw-r-- 1 nico nico 215 8月 24 17:29 _remote.repositories
Hinweis: Es gibt mehrere Fragen zum selben Thema. Alle haben veraltete Antworten mit Maven-IDs (Mortbay, Codehaus), die vor dem Umzug von Jetty nach Eclipse entstanden sind, oder schlagen vor, den <plugin>
-Block oben in meiner Frage hinzuzufügen.
Sie verwenden die Plugin-Version 9.4.0-SNAPSHOT
. Diese Version ist nicht im zentralen Repo verfügbar ( verfügbare Versionen ).
Das Hinzufügen einer dependency
löst das Problem nicht, da eine Abhängigkeit nicht mit einer plugin
identisch ist. Eine Abhängigkeit ist verwendet oder erforderlich von dem Code, den Sie kompilieren möchten, und ein Plugin ist etwas, das Ihren Code kompilieren, erstellen oder analysieren würde.
Zusamenfassend:
dependency
für jetty-maven-plugin
sie müssen die version
der plugin
in eine Version ändern, die in der zentralen oder lokalen Repo-Version verfügbar ist.
Zum Beispiel:
<plugin>
<groupId>org.Eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.0.M0</version>
</plugin>
Bitte erstellen Sie eine Datei settings.xml mit den folgenden Informationen
<settings xmlns="http://maven.Apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.Apache.org/SETTINGS/1.0.0
http://maven.Apache.org/xsd/settings-1.0.0.xsd">
<localRepository>${user.home}/.m2/repository</localRepository>
<interactiveMode>true</interactiveMode>
<usePluginRegistry>false</usePluginRegistry>
<offline>false</offline>
<pluginGroups>
<pluginGroup>org.mortbay.jetty</pluginGroup>
</pluginGroups>
</settings>
Es arbeitet für mich.