在当前项目和插件组(本地、中央)中找不到前缀 'jetty' 的插件

No plugin found for prefix 'jetty' in the current project and in the plugin groups (local, central)

为了轻松 运行 我的 webapp,我决定将 Jetty 添加到我的单个 POM 文件中。

official documentation 之后,我将其添加到我的 <plugins>:

  <plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>9.4.0-SNAPSHOT</version>
  </plugin>

问题mvn jetty:run 失败:

$ 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]

https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-maven-plugin/9.4.0.M0 的另一种方法建议在 <dependencies> 中添加:

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.4.0.M0</version>
            </dependency>

它也失败了,mvn jetty:start 说:

[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]

我删除了我的 .m2 文件夹并让 Maven 重新创建它,没有更好。我在 ~/.m2 中没有 settings.xml,这里是 ~/.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

注意:关于同一主题有几个问题,所有问题的答案都已过时,其中包含 Jetty 迁移到 Eclipse 之前的 Maven id(mortbay、codehaus),或者建议添加 <plugin>在我的问题顶部看到的块。

您正在使用插件版本 9.4.0-SNAPSHOT。此版本在中央仓库 (available versions) 中不可用。

添加 dependency 并不能解决问题,因为依赖项与 plugin 不同。您要编译的代码 使用或需要 依赖项,而插件是可以 编译、构建或分析 您的代码的东西。

简而言之:

  • 您不需要 dependency jetty-maven-plugin
  • 您必须将 pluginversion 更改为中央或本地存储库中可用的版本。
    例如:

    <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>9.4.0.M0</version>
    </plugin>
    

请使用以下信息编辑本地存储库中的 settings.xml 文件

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

它对我有用。