0

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デプロイログの次のエントリは、jackson-mapper-asl1.9.9がherokumavenリポジトリからダウンロードされていることを示しています。

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エラーが発生します。

デプロイ時に、この依存関係に別のMavenリポジトリを使用するようにherokuに指示する方法はありますか?さらに良いことに、heroku jackson-mapper-asl maven-metadata.xmlファイルを修正する方法はありますか?

4

2 に答える 2

0

フォローアップ 私はHerokuサポート(非常に役に立ちました、ところで)に連絡しましたが、HerokuMavenキャッシュがJackson以外には無効であることがわかりました。Herokuのサポートにより、問題の解決に役立つ更新プロセスが開始されましたが、完全には修正されませんでした。この問題を完全に解決するには、アプリをHerokuにデプロイする前に、pom.xmlのjackson-mapper-asl1.9.9に明示的な依存関係を追加する必要がありました。

于 2012-10-10T22:37:43.980 に答える
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で定義します。

<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 に答える