Maven正试图从maven.ocean.net.au更新glassfish插件

我们无法部署我们的应用程序,因为Maven正在尝试从maven.ocean.net.au存储库更新glassfish插件,尽管我们的pom中没有定义这样的存储库。 问题是maven.ocean.net.au不在线,因此我们的构建失败。 这件事发生在其他人身上吗?

我想你正在使用org.glassfish.maven.plugin:maven-glassfish-plugin:2.2-SNAPSHOT ,它确实声明了http://maven.ocean.net.au/snapshot作为快照存储库。

我的建议是使用插件的发布版本,例如2.1版(此插件的发布版本托管在java.net Maven2存储库中 )或修补版本2.2到内部企业存储库(即不使用来自Ocean Maven2 Snapshot Repository的快照 )。

如果没有使用其他存储库具有您尝试使用的glassfish插件的版本,则依赖项解析将仅失败。

确保您的maven设置有几个其他插件存储库(最好的是一个本地存储库,代理对远程服务器的请求,以构建Maven工件的巨大本地缓存),以便在无法访问单个存储库时解决方案不会失败。

我也有同样的问题。 但是,使用java.net Maven2 Repository无法解决它,因为这是对ocean.net.au存储库的引用来自的地方: http : //download.java.net/maven/2/org/glassfish/maven /plugin/maven-glassfish-plugin/2.1/maven-glassfish-plugin-2.1.pom也许他们应该改变他们的.pom?

我也有同样的问题。 我此时发现的唯一解决方案是从所有依赖项中删除所有存储库(或将它们切换为enabled = false)(3)。

他们应该将所有这些存储库放入配置文件中,这是一个可怕的解决方案。 如果服务器有任何响应,它会更好,但它只是挂起。 超时设置也会被忽略。

我通过右键单击POM并在离线模式下创建新的运行配置,在eclipse中解决了这个问题。 显然,保存的maven构建会忽略全局设置并使用自己的配置。 当然,如果你真的需要其他更新,你将会等待很长时间,但这对我有所帮助。

这是它的3.1版本上的Glassfish Maven插件的.pom的一个问题:现在已经定义了三个离线的存储库,我相信它们没有用处,因为一切都在Central。 它可能是一些未被删除的快照的剩余部分。

我发现了一种肮脏的方法来消除产生的延迟,直到maven将请求超时到那些脱机服务器:

  1. 导航到本地存储库
  2. 输入文件夹.m2\repository\org\glassfish\maven\plugin\maven-glassfish-plugin\2.1
  3. 使用任何文本编辑器打开文件maven-glassfish-plugin-2.1.pom
  4. 转到读取的第146行(3.1版)并通过为发行版和快照设置false来禁用所有3个存储库
  5. 对第202行中的执行相同的操作(在3.1版中)
  6. 删除文件maven-glassfish-plugin-2.1.pom.sha1maven-glassfish-plugin-2.1.pom.md5以防止Maven下载它们并覆盖这些更改

它并不聪明,它并不酷,它不是迄今为止最好的解决方案,但至少你可以节省几分钟再次重新部署。