在Eclipse中创建一个Maven项目抱怨“无法解析原型”

时间:2013-03-19 17:09:05

标签: java eclipse maven

我完全是Maven的新手。 我想用Eclipse Juno EE和原型“webapp”创建一个Maven项目。我安装了“Maven Integration for Eclipse WTP(孵化)”,我还安装了“Maven Integration for Eclipse”(在Eclipse Marketplace的Installed选项卡上找到它)。 当我尝试从文件 - > New_> Maven项目创建新项目时,我收到错误:

Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:RELEASE from any of the configured repositories.
Could not resolve artifact org.apache.maven.archetypes:maven-archetype-webapp:pom:RELEASE
Failed to resolve version for org.apache.maven.archetypes:maven-archetype-webapp:pom:RELEASE: Could not find metadata org.apache.maven.archetypes:maven-archetype-webapp/maven-metadata.xml in local (C:\Documents and Settings\PEP35KD\.m2\repository)
Failed to resolve version for org.apache.maven.archetypes:maven-archetype-webapp:pom:RELEASE: Could not find metadata org.apache.maven.archetypes:maven-archetype-webapp/maven-metadata.xml in local (C:\Documents and Settings\PEP35KD\.m2\repository)

它适用于各种原型。 我正在使用代理,我使用以下内容在C:\ Documents and Settings \ PEP35KD.m2 \下创建文件settings.xml:

<proxies>
    <proxy>
        <id>myId</id>
        <active>true</active>
        <protocol>http</protocol>
        <username>rete\pep35kd</username>
        <password>XXXX</password>
        <host>XXXX</host>
        <port>8080</port>
        <nonProxyHosts>localhost</nonProxyHosts>
    </proxy>
</proxies>

请考虑,似乎我不能从命令行使用mvn命令(命令未找到)。我从未安装Maven本身,我认为插件就足够了:它是一个正确的假设吗?

更新问题肯定与代理有关。由:

  • 在本地PC上安装Maven;
  • 从Eclipse安装Maven Eclipse 市场;
  • 将Maven Install目录设置为本地PC Maven目录,而不是默认的Embedded Maven,

一切都按预期工作。我无法理解为什么,但可能防火墙阻止了Maven服务器的流量。

15 个答案:

答案 0 :(得分:126)

我通过遵循this other StackOverflow question

的解决方案解决了这个问题
  

我遇到了同样的问题。我通过将maven原型目录添加到eclipse来修复它。步骤如下:

     
      
  1. 打开窗口&gt;首
  2.   
  3. 打开Maven&gt;原型
  4.   
  5. 点击“添加远程目录”并添加以下内容:      
  6.   

答案 1 :(得分:12)

假设您的代理设置正确,您可能错过了将Eclipse指向预期的settings.xml文件。当您将Maven作为管理单元安装并在Eclipse外部安装外部安装时,通常会发生这种情况。您需要告诉Eclipse应该使用哪个Maven安装,以及它应该查找哪个settings.xml文件。

首先检查settings.xml文件是否包含您的代理设置。

enter image description here

接下来,检查此处的用户settings.xml文件是否包含您的代理设置。

enter image description here

如果您进行了任何更改,请重新启动Eclipse。

答案 2 :(得分:9)

在user settings.xml文件的“mirrors”部分中添加以下内容对我有用。

<mirror>
  <id>ibiblio.org</id>
  <url>http://mirrors.ibiblio.org/maven2</url>
  <mirrorOf>central</mirrorOf>
</mirror>

答案 3 :(得分:5)

添加您的MAVEN_HOME环境变量,编辑您的路径以包含%MAVEN_HOME%/bin,然后尝试使用Maven手动创建项目:

mvn archetype:generate -DgroupId=com.program -DartifactId=Program -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

然后将现有的Maven项目导入Eclipse。

答案 4 :(得分:5)

我发现最简单的方法是删除/删除.m2文件夹并重新创建它,然后放回settings.xml配置详细信息(如果适用)。

答案 5 :(得分:3)

您可以通过在Eclipse中配置settings.xml来解决它。

转到窗口 - &gt;偏好 - &gt; Maven - &gt;用户设置 - &gt;选择settings.xml的实际路径

答案 6 :(得分:3)

我找到了解决方案   http://www.scriptscoop.net/t/7c42f9d698a4/java-create-maven-project-could-not-resolve-archetype-connection-refused.html

我们可以看到问题的根源:连接被拒绝:连接

我已经这样做了:

1)窗口 - &gt;偏好 - &gt;一般 - &gt;网络连接。我把我的代理的url和端口用于HTTP协议。它的工作原理是因为在此之前,Spring Tool Suite不想更新。之后,没关系。

2)窗口 - &gt;偏好 - &gt; Maven - &gt;用户设置。在“全局设置”中,为空。在“用户设置”中,我将路径设置为settings.xml。在这个文件中,我有:

enter image description here

答案 7 :(得分:2)

转到 喜好: - &GT; Maven的 点击“添加远程目录” 档案:http://repo1.maven.org/maven2/archetype-catalog.xml 说明:目录

答案 8 :(得分:1)

maven / conf文件夹中定义的settings.xml文件也可能定义了无法访问的位置

答案 9 :(得分:1)

点击windows-&gt;首选项&GT; Maven的。取消选中&#34;离线&#34;复选框。这无法下载我正在使用的原型。 当我取消选中它时,一切顺利。

答案 10 :(得分:0)

首先,您必须在工作站上安装Maven。你还需要安装M2E,你显然做了什么。并非Juno的所有发行版都预先安装了它。

然后配置Eclipse以便它可以找到您的Maven安装。在菜单窗口 - &gt;首选项,然后打开Maven部分。在右侧面板中,您有Eclipse知道的Maven安装列表。添加您的安装并选择它,而不是M2E提供的嵌入式Maven。不要忘记将“全局设置从安装目录”字段设置为Maven安装的settings.xml的路径。

将我们带到settings.xml。如果上述方法无法解决您的问题,则必须配置Maven。更多信息here

答案 11 :(得分:0)

这可能听起来很愚蠢,但要确保未选中Maven设置中的“离线”复选框。我试图创建一个项目并得到此错误,直到我注意到该复选框。

答案 12 :(得分:0)

转到首选项: - &gt; Maven

1. check Download Artifact Source
2. check Download Artifact JavaDoc

答案 13 :(得分:0)

我在eclipse中创建web-app时遇到了类似的错误,只是通过清理(删除所有文件)和重建maven存储库来解决问题

答案 14 :(得分:-2)

您需要在日食中安装m2eclipse或任何其他maven插件。一些日食带有maven及其插件安装。否则,请转到帮助 - >软件安装,选择所有站点,使用maven过滤列表,然后安装插件。然后查看this链接。希望它有所帮助。