0

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

No versions available for org.codehaus.jackson:jackson-mapper-asl:jar:[1.9,1.9.9] within specified range

我相信这个问题与这个答案和这个杰克逊存储库 maven-metadata.xml错误有关。

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

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-mapper-asl maven-metadata.xml 文件?

4

2 回答 2

0

足以作为一种解决方法吗?您可以只使用存储库配置部分并指向其他地方,或者像使用自定义项一样自己提供文件。

无论如何,你可以做到。在 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>

在 pom.xml 中定义一个指向本地“repo”项目的存储库,该项目仅存在于应用程序部署中:

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

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

于 2012-10-05T07:45:32.473 回答
0

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

于 2012-10-10T22:37:43.980 回答