将Java应用程序部署到Heroku会导致jackson mapper asl Maven错误

将Java应用程序部署到Heroku会导致jackson mapper asl Maven错误,maven,heroku,jackson,Maven,Heroku,Jackson,部署到heroku时,确切的maven错误消息是: No versions available for org.codehaus.jackson:jackson-mapper-asl:jar:[1.9,1.9.9] within specified range 我相信这个问题与这个Jackson存储库maven-metadata.xml有关 maven部署日志中的以下条目表示正在从heroku maven存储库下载jackson mapper asl 1.9.9: Downloaded: ht

部署到heroku时,确切的maven错误消息是:

No versions available for org.codehaus.jackson:jackson-mapper-asl:jar:[1.9,1.9.9] within specified range
我相信这个问题与这个Jackson存储库maven-metadata.xml有关

maven部署日志中的以下条目表示正在从heroku maven存储库下载jackson mapper asl 1.9.9:

Downloaded: http://s3pository.heroku.com/jvm/org/codehaus/jackson/jackson-mapper-asl/1.9.9/jackson-mapper-asl-1.9.9.pom (2 KB at 12.3 KB/sec)
jackson maven-metadata.xml的heroku版本使用了不正确的版本号-在使用版本范围时导致maven错误

在部署时,有没有办法告诉heroku使用不同的maven存储库来处理此依赖关系?更好的是,有没有办法修复heroku jackson映射器asl maven-metadata.xml文件?

可以作为一种解决办法?您可以选择repository configuration(存储库配置)部分,指向其他地方,或者像处理自定义项一样自己提供文件

不管怎样,你可以做到。在pom.xml中定义常规存储库,这里是中心存储库:

<repositories>
  <repository>
    <id>central</id>
    <name>Maven Repository Switchboard</name>
    <layout>default</layout>
    <url>http://repo1.maven.org/maven2</url>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
</repositories>

中心的
Maven存储库交换机
违约
http://repo1.maven.org/maven2
假的
在pom.xml中定义指向仅存在于应用程序部署中的本地“repo”项的存储库:

<repositories>
    <!--other repositories if any-->
    <repository>
        <id>project.local</id>
        <name>project</name>
        <url>file:${project.basedir}/repo</url>
    </repository>
</repositories>

项目.本地
项目
文件:${project.basedir}/repo

在任何情况下,您都应该联系Heroku支持部门。

跟进我联系了Heroku支持部门(非常有帮助,顺便说一句),他们发现Heroku Maven缓存对Jackson无效。Heroku支持启动了一个更新过程,帮助解决了问题,但没有完全解决。为了彻底解决这个问题,我必须在pom.xml中为jackson mapper asl 1.9.9添加一个明确的依赖项,然后才能将我的应用程序部署到Heroku。

你能就此联系Heroku支持部门吗?James,我现在使用的是heroku的免费版本,他们的支持中心将我带到stackoverflow。只是一个更新,我就这个问题向heroku支持部门发送了一封电子邮件。我有点慢,直到现在我才在他们的网站上找到正确的支持链接!谢谢你的建议。我试图将中央回购协议添加到我的pom中,但它仍然符合heroku的回购协议。我是maven新手,但我认为这是因为Jackson在我的构建中是一个可传递的依赖项。@JasonD5150目前,指向本地文件(如我的第二个示例中的(+链接)应该可以作为解决方法。我认为从长远来看,无论如何,他们需要修复heroku存储库。