无法在eclipse中创建Maven项目

时间:2014-09-10 08:43:43

标签: eclipse maven

我在公司防火墙后面的Windows 7计算机上安装了Eclipse Luna和Maven 3.2.3。

尝试从原型创建项目会导致以下错误:

  

无法解析原型org.apache.maven.archetypes:maven-archetype-quickstart:来自任何已配置存储库的RELEASE。

     

无法解析工件org.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE

     

无法解析org.apache.maven.archetypes的版本:maven-archetype-   quickstart:pom:RELEASE:无法在本地找到元数据org.apache.maven.archetypes:maven-archetype-quickstart / maven-metadata.xml(C:\ Users \ xxxx.m2 \ repository)

     

无法解析org.apache.maven.archetypes的版本:maven-archetype-quickstart:pom:RELEASE:找不到元数据org.apache.maven.archetypes:maven-archetype-quickstart / maven-metadata.xml in local(C:\ Users \ xxxx.m2 \ repository)

代理详细信息在.m2/settings.xml中配置,从archtype生成maven项目在命令行中运行正常。

我尝试应用here的解决方案,但都没有效果。远程目录也不可访问。我认为这是Eclipse的网络设置的问题。我还看了this bug report试图找到一些线索,并不能真正理解如何实现变通方法。

这是我的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">
    <servers>
        <server>
            <id>nexus</id>
            <username>xxxx@xxxx.com</username>
            <password>{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}</password>
        </server>
        <server>
            <id>deployment</id>
            <username>xxxx@xxxx.com</username>
            <password>{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}</password>
        </server>
    </servers>
    <mirrors>
        <mirror>
        <!--This sends everything else to /public -->
        <id>nexus</id>
        <mirrorOf>*</mirrorOf>
        <url>https://nexus-int.xxxx.xxxx.com/nexus/content/groups/public</url>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
        <id>nexus</id>
            <!--Enable snapshots for the built in central repo to direct -->
        <!--all requests to nexus via the mirror -->
        <repositories>
            <repository>
                <id>central</id>
                <url>http://central</url>
                <releases><enabled>true</enabled></releases>
                <snapshots><enabled>true</enabled></snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>central</id>
                <url>http://central</url>
                <releases><enabled>true</enabled></releases>
                <snapshots><enabled>true</enabled></snapshots>
            </pluginRepository>
        </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <!--make the profile active all the time -->
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
</settings>

有什么想法吗?

由于

托默

11 个答案:

答案 0 :(得分:55)

此处存在相同问题,已解决

我将解释问题和解决方案,以帮助他人。

我的软件是:

Windows 7
Eclipse 4.4.1 (Luna SR1)
m2e 1.5.0.20140606-0033
    (from eclipse repository: http://download.eclipse.org/releases/luna)

我通过代理访问互联网。

我的问题是一样的:

  • 刚刚安装了m2e,转到菜单:文件&gt;新&gt;其他&gt; Maven&gt; Maven项目&gt;下一个&gt;下一步。
  • 已选择&#34;目录:所有目录&#34;和&#34;过滤:maven-archetype-quickstart&#34;,然后点击搜索结果,然后点击按钮Next。
  • 然后输入&#34; Group Id:test_gr&#34;和&#34;工件ID:test_art&#34;,然后点击完成按钮。
  • 得到&#34;无法解析原型......&#34;错误。

经过大量的尝试和错误,并阅读了很多页面,我终于找到了解决方案来解决它。解决方案的一些重点

  • 它使用m2e附带的默认(嵌入式)Maven安装(3.2.1 / 1.5.0.20140605-2032)。
  • 因此不需要安装(外部)Maven。
  • 不需要特殊的m2e配置。

解决方案是:

  • 打开日食。
  • 恢复m2e原始首选项(如果您更改了其中任何一个):单击菜单:Window&gt;偏好&gt; Maven&gt;恢复默认值。对#34; Maven&#34;下的所有树项执行相同的操作。 item:Archetypes,Discovery,Errors / Warnings,Instalation,Lifecycle Mappings,Templates,User Interface,User Settings。点击&#34;确定&#34;按钮。
  • 复制(例如,到记事本窗口)用户设置文件的路径。要查看路径,请再次单击菜单:Window&gt;偏好&gt; Maven&gt;用户设置,路径位于&#34;用户设置&#34;文本框。您必须手动编写路径,因为它无法复制和粘贴。在处理记事本的路径后,请不要关闭“首选项”窗口。
  • 在已打开的首选项窗口中,单击&#34;打开文件&#34;链接。关闭“首选项”窗口,您将看到&#34; settings.xml&#34;文件已在Eclipse编辑器中打开。
  • 编辑器底部有两个标签:&#34; Design&#34;和&#34;来源&#34;。点击&#34;来源&#34;标签。您将看到所有源代码(xml)。
  • 删除所有源代码:点击代码,按控制键+ a,按&#34; del&#34;。
  • 将以下代码复制到编辑器(并自定义大写的值):
<settings>
  <proxies>
   <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>YOUR.PROXY.IP.OR.NAME</host>
      <port>YOUR PROXY PORT</port>
      <username>YOUR PROXY USERNAME (OR EMPTY IF NOT REQUIRED)</username>
      <password>YOUR PROXY PASSWORD (OR EMPTY IF NOT REQUIRED)</password>
      <nonProxyHosts>YOUR PROXY EXCLUSION HOST LIST (OR EMPTY)</nonProxyHosts>
    </proxy>
  </proxies>
</settings>
  • 保存文件:control + s。
  • 退出Eclipse:菜单文件&gt;退出。
  • 在Windows资源管理器中打开您复制的路径(不包含文件名,只包含目录路径)。
  • 您可能会看到xml文件(&#34; settings.xml&#34;)和一个directoy(&#34;存储库&#34;)。删除directoy(&#34;存储库&#34;):右键单击&gt;删除&gt;是。
  • 启动Eclipse。
  • 现在您将能够创建一个maven项目:File&gt;新&gt;其他&gt; Maven&gt; Maven项目&gt;下一个&gt;接下来,选择&#34;目录:所有目录&#34;和&#34;过滤:maven-archetype-quickstart&#34;,点击搜索结果,然后点击按钮接下来,输入&#34; Group Id:test_gr&#34;和&#34;工件ID:test_art&#34;,单击完成按钮。

最后,我想向m2e开发人员提供建议,以简化配置。从Internet(从存储库)安装m2e后,m2e应检查Eclipse是否使用代理(首选项&gt;常规&gt;网络连接)。如果Eclipse使用代理,m2e应该向用户显示一个对话框:

m2e has detected that Eclipse is using a proxy to access to the internet.
Would you like me to create a User settings file (settings.xml) for the embedded 
Maven software?

[ Yes ] [ No ]

如果用户点击是,则m2e应自动创建&#34; settings.xml&#34;通过从Eclipse首选项复制代理值来编译文件。

答案 1 :(得分:29)

对我来说,解决方案有点简单,我只需要清理存储库:.m2 / repository / org / apache / maven / archetypes

答案 2 :(得分:11)

只需删除$ {user.home} /。m2 / repository / org / apache / maven / archetypes以刷新所需的所有文件,它对我来说很好用!

答案 3 :(得分:3)

我也解决了这个问题,最后我解决了,这就是解决方案:

  

转到Windows - &gt;偏好设置 - &gt; maven - &gt;用户设置

settings.xml路径更改为有效路径。

路径可能不在.m2目录下(在您的主目录中)..

答案 4 :(得分:3)

在我的案例中,以下解决方案有效。

  1. 删除 RELEASE 目录&amp;位于.m2 /../ maven-archetype-quickstart目录下的本地Maven存储库中的 resolver-status.properties 文件。
  2. 在Eclipse或STS(Spring Tool Suite)中创建Maven项目。它将自动下载quickstart原型&amp;按预期工作。
  3. 我希望这可以帮助别人。

答案 5 :(得分:1)

我在创建项目时出现了同样的错误,但我没有代理,因此上述解决方案对我不起作用。

我找到了this forum。它建议:

  
      
  1. 从HOME目录中删除或重命名.m2目录
  2.   

In Windows - C:\Users\<username>\Windows

OR

In Linux - /home/<username>
  
      
  1. 重启Eclipse / STS弹簧工具套件(正在使用)
  2.   

有效!

答案 6 :(得分:0)

我正在使用Spring STS 3.8.3。我遇到了类似的问题。我使用此thread中的信息修复了它,并修复了一些maven设置。单击Spring Tool Suite - &gt;偏好 - &gt; Maven并取消选中“#34;不自动更新远程存储库的依赖关系”框。我还检查了说&#34;下载工件来源&#34;和#34;下载Artifact javadoc&#34;。

答案 7 :(得分:0)

如果您在代理服务器后面,首先要做的是,在settings.xml文件夹下添加C:\Users\{username}\.m2代理配置,并在Window > Preferences > Network Connections下复制相同的代理配置(您可能需要在域名前添加前缀,例如。DOMAIN\username):

<settings>
  <proxies>
   <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>webproxy.net</host>
      <port>8080</port>
      <username>username</username>
      <password>password</password>
      <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
    </proxy>
   <proxy>
      <active>true</active>
      <protocol>https</protocol>
      <host>webproxy.net</host>
      <port>8080</port>
      <username>username</username>
      <password>password</password>
      <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
    </proxy>    
  </proxies>

也删除C:\Users\{username}\.m2\repository文件夹。

答案 8 :(得分:0)

这实际上很简单直接。

只需导航到您的.m2文件夹。

.m2 / repository / org / apache / maven

在该maven文件夹中,您将看到一个名为Archetypes的文件夹...删除此文件夹即可解决问题。

但是,如果您不想删除整个文件夹,则可以导航到原型文件夹并删除您想要的所有原型。它不断失败的原因是,您尝试创建的原型试图告诉您该文件夹中已经存在该原型,因此请移开...

概括地说,删除.m2文件夹中的原型文件夹是最简单的解决方法。

答案 9 :(得分:0)

它适用于=我刚刚从下面的位置删除了“原型”文件夹

C:\ Users \ Lenovo.m2 \ repository \ org \ apache \ maven

但是您可以更改以下内容进行实验-下载最新版本的Maven二进制zip,将其添加到C:\驱动器中,然后更改以下内容...。

enter image description here

enter image description here

enter image description here

更改代理

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

答案 10 :(得分:0)

今天这个问题,几乎消耗了我的一整天。因此,如果可以节省他人的时间,就考虑分享学习。

Eclipse Luna 似乎有问题。我尝试了很多方法,但 Eclipse Luna 的问题仍未解决。

随后,我尝试了 Eclipse Neon,问题通过 Neon 自动解决。似乎当问题发布在这里时(因为它已经很老了),Neon 版本可能尚未发布。

总而言之,如果有人还在使用 Java-8、Maven 而不是使用 Eclipse Neon,那么您应该不会遇到问题。

此外,我了解到 Maven——无论是嵌入的(Eclipse 内部的)还是外部的(我们单独安装)在这里都没有任何区别。

现在我的工作堆栈 - JDK 8、Maven 3、Eclipse Neon

参考:Eclipse Neon 下载链接 - https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/neon/3/eclipse-jee-neon-3-win32-x86_64.zip

PS - 另外,我尝试了名为“eclipse-jee-2021-03-R-win32-x86_64”的最新版本的 Eclipse (R),但是它需要最低版本的 Java-11,因此对于 Java 8,我们可以不要使用它。