我在公司防火墙后面的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>
有什么想法吗?
由于
托默
答案 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)
我通过代理访问互联网。
我的问题是一样的:
经过大量的尝试和错误,并阅读了很多页面,我终于找到了解决方案来解决它。解决方案的一些重点:
解决方案是:
<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>
最后,我想向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)
在我的案例中,以下解决方案有效。
我希望这可以帮助别人。
答案 5 :(得分:1)
我在创建项目时出现了同样的错误,但我没有代理,因此上述解决方案对我不起作用。
我找到了this forum。它建议:
- 从HOME目录中删除或重命名.m2目录
醇>
In Windows - C:\Users\<username>\Windows
OR
In Linux - /home/<username>
- 重启Eclipse / STS弹簧工具套件(正在使用)
醇>
有效!
答案 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:\驱动器中,然后更改以下内容...。
更改代理
<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,我们可以不要使用它。