【iDempiere Lab】Mavenビルドエラー:Unable to find/resolve artifact

 iDempiereのソースコードをダウンロードして、MavenのValidateを実行すると、下記のエラーに遭遇するようになりました。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy (db.util.lib) on project org.adempiere.server.feature: Unable to find/resolve artifact.: Failed to read artifact descriptor for woodstox:wstx-asl:jar:3.2.7: Could not transfer artifact woodstox:wstx-asl:pom:3.2.7 from/to Central (http://central.maven.org/maven2): Failed to transfer file http://central.maven.org/maven2/woodstox/wstx-asl/3.2.7/wstx-asl-3.2.7.pom with status code 501 -> [Help 1]

[ERROR]

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.

[ERROR]

[ERROR] For more information about the errors and possible solutions, please read the following articles:

[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

[ERROR]

[ERROR] After correcting the problems, you can resume the build with the command

[ERROR]   mvn <args> -rf :org.adempiere.server.feature

 これは、Mavenのセントラルリポジトリがhttpでのアクセスを受け付けなくしているためで(httpsの安全な接続のみ許可する方針になったようです)、http://central.maven.org/にアクセスすると次のようなメッセージが表示されます。

501 HTTPS Required. 
Use https://repo1.maven.org/maven2/
More information at https://links.sonatype.com/central/501-https-required

https://repo1.maven.org/maven2/ のリポジトリを使うように書かれており、

詳細は、https://links.sonatype.com/central/501-https-required を参照してねという事なので、https://links.sonatype.com/central/501-https-required にアクセスしてみます。

 そうすると、まさこ今回の事象の質問と回答が記載されています。

 要するに、今まで"http://repo1.maven.org/maven2/"にアクセスしていた人は、"https://repo1.maven.org/maven2/"にアクセスするようにと、そして今まで"http://repo.maven.apache.org/maven2/"にアクセスしていた人は、"https://repo.maven.apache.org/maven2/"にアクセスするようにとの事です。

さらに、回答の下には、今回のhttpでのアクセスができなくなる旨の告知へのリンクがあります。

iDempiereコミュニティーの対応

iDempiereコミュニティーでは、リーダーのカルロスがIDEMPIERE-4149のチケットを切って対応しています。

チケットの修正内容としては、Mavenのセントラルリポジトリを変更するだけでなく、他のリポジトリへのアクセスでもhttpsを使用するようにしているようです。

https://github.com/idempiere/idempiere/commit/0e8e4b6f1372636385283200eb678b4a98e320b8

【変更ファイル】

  • org.idempiere.maven.to.p2/org.idempiere.maven.to.p2/pom.xml
  • org.idempiere.parent/pom.xml

今回のエラーの対応としては、org.idempiere.parent/pom.xmlの上記赤線の所(467行目)を修正すればOKなはずです!!

既に、マスターブランチとrelease-7.1のブランチには修正が入っています。※JPiereアカウントにあるiDempiereのリポジトリもアップデートしました。

release-6.2以前のバージョンを使っている場合は、自分たちで修正する必要があります。

【2023年7月21日追記】

rg.idempiere.parent/pom.xml(親POM)のjenkinsのリポジトリーへのアクセスもhttpからhttpsに修正する必要がありました。