无法在eclipse中创建Maven项目

Tom*_*mer 29 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 :\用户\ xxxx.m2 \库)

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

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

我试图从这里应用解决方案但没有工作.远程目录也不可访问.我认为这是Eclipse的网络设置的问题.我也查看了这个错误报告,试图找到一些线索,并不能真正理解如何实现变通方法.

这是我的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>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

谢谢

托梅尔

fre*_*oft 58

这里问题相同,解决了.

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

我的软件是:

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

我通过代理访问互联网.

我的问题是一样的:

  • 刚刚安装了m2e,转到菜单:文件>新建>其他> Maven> Maven项目>下一步>下一步.
  • 选择"目录:所有目录"和"过滤:maven-archetype-quickstart",然后单击搜索结果,然后单击"下一步"按钮.
  • 然后输入"Group Id:test_gr"和"Artifact Id:test_art",然后单击Finish按钮.
  • 得到"无法解决原型..."错误.

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

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

解决方案是:

  • 打开日食.
  • 恢复m2e原始首选项(如果您更改了其中任何一个):单击菜单:窗口>首选项> Maven>恢复默认值.对"Maven"项下的所有树项执行相同的操作:原型,发现,错误/警告,安装,生命周期映射,模板,用户界面,用户设置.单击"确定"按钮.
  • 复制(例如,到记事本窗口)用户设置文件的路径.要查看路径,请再次单击菜单:"窗口">"首选项">"Maven">"用户设置",路径位于"用户设置"文本框中.您必须手动编写路径,因为它无法复制和粘贴.在处理记事本的路径后,请不要关闭"首选项"窗口.
  • 在已打开的"首选项"窗口中,单击"打开文件"链接.关闭"首选项"窗口,您将看到已在Eclipse编辑器中打开的"settings.xml"文件.
  • 编辑器底部有两个选项卡:"Design"和"Source".单击"源"选项卡.您将看到所有源代码(xml).
  • 删除所有源代码:单击代码,按control + a,按"del".
  • 将以下代码复制到编辑器(并自定义大写的值):
<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>
Run Code Online (Sandbox Code Playgroud)
  • 保存文件:control + s.
  • 退出Eclipse:菜单文件>退出.
  • 在Windows资源管理器中打开您复制的路径(没有文件名,只有目录路径).
  • 您可能会看到xml文件("settings.xml")和directoy("存储库").删除directoy("存储库"):右键单击>删除>是.
  • 启动Eclipse.
  • 现在您将能够创建一个maven项目:File> New> Other> Maven> Maven project> Next> Next,选择"Catalog:All catalogs"和"Filter:maven-archetype-quickstart",点击搜索结果,然后在按钮上,输入"Group Id:test_gr"和"Artifact Id:test_art",单击"完成"按钮.

最后,我想向m2e开发人员提出建议,使配置更容易.从Internet(从存储库)安装m2e后,m2e应检查Eclipse是否使用代理(首选项>常规>网络连接).如果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 ]
Run Code Online (Sandbox Code Playgroud)

如果用户单击Yes,则m2e应通过从Eclipse首选项复制代理值来自动创建"settings.xml"文件.

  • Maven为何如此难以使用?对我来说,处理不必要的maven问题就足以让你无法在java中工作,并回到简单的C/C++生活.我希望Maven永远不会进入那个世界 (3认同)
  • 我曾尝试多次这样做但失败了......你的解决方案是如此完美......它有效! (2认同)

ama*_*aux 31

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


Lot*_*ava 12

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