mvn archetype:generate不起作用 - 找不到前缀'archetype'的插件

时间:2011-06-24 19:23:50

标签: maven-2

我想使用现有的原型构建一个简单的项目。但我无法运行mvn archetype:generate,因为它一直告诉我以下信息

[ERROR] No plugin found for prefix 'archetype' in the current project and in the
 plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the
repositories [local (C:\Documents and Settings\ccen\.m2\repository), central (ht
tp://repo1.maven.org/maven2)] -> [Help 1]

我使用的是MS Windows,并且在我的〜/ .m2文件夹中没有使用任何settings.xml,所有内容都是全新的。任何人都可以帮我解决一下吗?

15 个答案:

答案 0 :(得分:19)

另一件可能出错的事情是您的计算机位于防火墙或代理服务器后面,因此您的计算机无法点击http://repo1.maven.org/maven2。尝试直接在浏览器中访问此URL或测试是否能够发出请求。

答案 1 :(得分:15)

您应该用于生成具有原型的项目的命令是......

mvn archetype:generate

您在问题中发布的命令错误(错过了原型中的第一个'e')。我认为这只是一个错字,但因为您发布的错误原型正确拼写错误。

我相信如果您尝试从已经包含pom.xml文件的目录执行此命令,则会发生此错误。它将尝试在现有pom.xml文件中找到原型插件配置。

在空目录中再次尝试该命令,或者至少在没有pom.xml文件的目录中尝试该命令,它应该可以正常工作。

答案 2 :(得分:9)

如果您位于coporate防火墙后面,请使用/ conf目录下的“settings.xml”配置代理设置 需要提供用户名,密码,主机和端口值。

 |
<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <username>proxyuser</username>
  <password>proxypass</password>
  <host>proxy.host.net</host>
  <port>80</port>
  <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>

答案 3 :(得分:5)

这是防火墙的问题。要检查防火墙是否已打开:

点击开始 - &gt;点击运行 - &gt;输入wscui.cpl - &gt;单击确定。 在Windows安全中心 - &gt;单击安全性 如果网络防火墙“开启”,则需要为maven设置代理。

转到/ conf - &gt;用记事本打开settings.xml 取消注释代理(如果你不记得代理设置,你可以使用webbrowser检查)

<proxies>
    <proxy>
        <id>optional</id>
        <active>true</active>
        <protocol>http</protocol>
        <username></username>
        <password></password>
        <host>www-proxy.us.oracle.com</host>
        <port>80</port>
        <nonProxyHosts></nonProxyHosts>
    </proxy>
</proxies>

您可以将用户名和密码字段留空,只设置主机和端口。

答案 4 :(得分:2)

Windows(Vista,Windows 7以后)的另一个问题是命令提示符应该在管理权限下运行(右键单击命令提示符快捷方式并选择“运行广告管理员”,如果UAC已启用),所以只需运行命令提示符管理员在执行mvn archetype:generate。

之前

我在使用以下命令在Windows 7下创建vaadin 7项目时遇到了这个问题。

mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=7.1.8 -DgroupId=im.sma.testproject -DartifactId=testproject -Dversion=1.0 -Dpackaging=war
  • SMA

答案 5 :(得分:1)

  • 要添加 Venerik的回答,我会为像我这样的天真用户详细说明一下;

maven中的代理设置 转到apache-maven-3.3.9 \ conf文件夹并找到settings.xml 在任何文本编辑器中打开它 转到下面的代码块

 <proxies>
<!-- proxy
 | Specification for one proxy, to be used in connecting to the network.
 |
<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <username>proxyuser</username>
  <password>proxypass</password>
  <host>proxy.host.net</host>
  <port>80</port>
  <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
-->
 </proxies>
  • 现在通过剪切和取消注释来自(proxy ... / proxy)的代码 粘贴它

就在(代理人)之后。

现在根据您的代理设置进行更改 在我的情况下,它看起来像以下

<proxies>
  <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>      
      <host>authproxy.serc.iisc.ernet.in</host>
      <port>3128</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
  </proxy>
  <!-- proxy
     | Specification for one proxy, to be used in connecting to the      network.
 |
   -->
  </proxies>

现在尝试运行 mvn archetype:generate ,然后运行并下载

答案 6 :(得分:1)

我用这个问题解决了2天,我检查了代理,从conf文件夹复制了settings.xml,删除了用户本地.m2文件夹,从eclipse中出来并直接安装了maven并尝试了。以上都不起作用。

Finallay通过将Java home form 1.7升级到1.8解决了该问题。我的Maven版本是 Apache Maven 3.6.3

Maven应该针对特定问题报告适当的错误,但不是。

在此线程中,投票赞成对Java升级的建议,此前他们对此不赞成。

答案 7 :(得分:0)

在我的情况下,解决方案只是运行mvn archetype:在用户配置文件下以安全模式生成。之后我可以在正常启动时运行它。

答案 8 :(得分:0)

我解决了这个问题,在创建项目时禁用防病毒软件一段时间。

Click here how to do that with avast

答案 9 :(得分:0)

在Maven 3中也遇到了同样的问题。我刚刚从jdk7升级到jdk8,问题已解决

答案 10 :(得分:0)

当将Maven 3.6.1与jdk 1.7.40一起使用时,我也面临相同的问题。

要解决此问题,我只需将我的JDk版本更新为1.8.241。

我希望这会对您有所帮助。

答案 11 :(得分:0)

由于Apache Maven存储库URL在NetBeans 8.2或更低版本中已从http://repo.maven.apache.org/maven2/更新为https://repo.maven.apache.org/maven2/,因此我们面临此问题。

那有什么解决方案?

解决方案1:- 用户终端以下载更新的Maven依赖项在Maven.Apache.Org

上查看本指南

解决方案2:- 更新您的NetBeans,移至Apache NetBeans 11

答案 12 :(得分:-1)

如果此警告伴随警告:

Received fatal alert: protocol_version

然后检查您的Java版本。通过将Java版本从7升级到10,我能够解决此问题。

https://github.com/technomancy/leiningen/issues/2364

答案 13 :(得分:-1)

有同样的问题,对我有用的是重新安装java

  1. sudo yum install java
  2. 查找Java的安装路径,可以使用which javawhereis javasudo find / -name javac

    对我来说是/usr/lib/jvm/java-11-amazon-corretto.x86_64/bin

  3. sudo vi ~/.bashrc

  4. 在行下方添加

    export PATH=$PATH:/usr/lib/jvm/java-11-amazon-corretto.x86_64/bin

  5. 来源.bashrc

,然后尝试输入命令-mvn archetype:generate

答案 14 :(得分:-2)

我有同样的问题。根本原因:键入mvn generate:archetype而不是archetype:generate。
mvn archetype:generate - 是正确的方式。