2010-10-21 38 views
10

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

+0

刚刚看到glassfish插件有一个依赖maven.ocean.net.au – cbaby 2010-10-21 15:03:19

回答

0

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

我的建议是使用发布的插件版本,例如,版本2.1(此插件的发布版本托管在java.net Maven2 Repository中),或者将版本2.2修补并部署到您的内部公司存储库(即不要使用Ocean Maven2 Snapshot Repository的快照)。

+6

我使用2.1(不是快照),也有问题。这很令人沮丧,因为我已经有了神器; maven试图(不必要地)更新它时挂起。 – 2011-06-15 17:53:44

1

如果没有其他存储库使用您试图使用的glassfish插件的版本,依赖关系解析将失败。

确保您的maven安装程序有其他几个插件库(最好是本地资源库,它向远程服务器发送请求代理请求,以构建一个巨大的Maven工件本地缓存),以便在单个回购站时解决方案不会失败不能达成。

0

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

他们应该把所有这些存储库放到配置文件中,这是可怕的解决方案。如果服务器有任何回应,那就没问题了,但它只是挂起了。超时设置也被忽略。

0

我在eclipse中解决了这个问题,方法是右键单击POM并在脱机模式下创建一个新的运行配置。显然,保存的maven版本会忽略全局设置并使用它们自己的配置。当然,如果你真的需要其他更新,你会很长时间等待,但这对我有帮助。

0

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

我发现了一个肮脏的方式来摆脱产生的延迟,直到行家超时请求那些脱机服务器:

  1. 导航到你的本地库
  2. 输入文件夹.m2\repository\org\glassfish\maven\plugin\maven-glassfish-plugin\2.1
  3. 打开文件maven-glassfish-plugin-2.1.pom与任何文本编辑器
  4. 转到第146行(版本3。1)读取<repositories>并设置 所有3个库在3.1版)
  5. 符合202(设置<enabled>false</enabled>为 两个版本和快照
  6. 执行相同的<pluginRepositories>删除文件maven-glassfish-plugin-2.1.pom.sha1maven-glassfish-plugin-2.1.pom.md5防止Maven的从禁用下载它们并覆盖这些变化

这不是聪明的,这不是很酷,它远远不是最好的解决办法,但至少你会从重新部署一次,并再次保存几分钟。

+0

再次阅读所有答案后,这似乎是dmatej提出的,尽管我一开始并没有得到答案。所以我要离开这个,因为对其他人来说会更清楚些。 – 2015-05-06 17:59:13