web-dev-qa-db-ja.com

SBTでhttpsを介してMavenリポジトリにアクセスする

ビルドにsbt(scala)を使用するJavaプロジェクトがあります。昨日まではこれで問題ありませんでしたが、今日、mavenからリポジトリをプルする際に問題が発生しています

esolving org.codehaus.plexus#plexus-component-api;1.0-alpha-16 ...

[error] SERVER ERROR: HTTPS Required url=http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom

[warn]  module not found: org.codehaus.plexus#plexus-component-api;1.0-alpha-16

[warn] ==== typesafe-ivy-releases: tried

[warn]   http://repo.typesafe.com/typesafe/ivy-releases/org.codehaus.plexus/plexus-component-api/1.0-alpha-16/ivys/ivy.xml

[warn] ==== sbt-plugin-releases: tried

[warn]   http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.codehaus.plexus/plexus-component-api/1.0-alpha-16/ivys/ivy.xml

[warn] ==== local: tried

[warn]   /root/.ivy2/local/org.codehaus.plexus/plexus-component-api/1.0-alpha-16/ivys/ivy.xml

[warn] ==== activator-local: tried

[warn]   file:/heimdall/app/projects/load-test/content-engine/repository/org.codehaus.plexus/plexus-component-api/1.0-alpha-16/ivys/ivy.xml

[warn] ==== public: tried

[warn]   http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom

[warn] ==== typesafe-releases: tried

[warn]   http://repo.typesafe.com/typesafe/releases/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom

[warn] ==== typesafe-ivy-releasez: tried

[warn]   http://repo.typesafe.com/typesafe/ivy-releases/org.codehaus.plexus/plexus-component-api/1.0-alpha-16/ivys/ivy.xml

[warn] ==== Typesafe repository: tried

[warn]   http://repo.typesafe.com/typesafe/releases/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom

私が推測できることに基づいて、リポジトリはhttpsエンドポイントに移動されたようです。また、pomファイルはhttpsエンドポイントで使用できます。問題は、これが私のプロジェクトの直接の依存関係ではなく、他の依存関係を介して推移的に発生することです。この特定の依存関係にhttpsを使用するにはどうすればよいですか?

私はsbtバージョン0.13.5を使用しています。 リファレンスマニュアル を確認し、build.sbtにDefaultMavenRepositoryを明示的に追加しました

resolvers += DefaultMavenRepository

この公式ドキュメントによれば、DefaultMavenRepositoryは安全なエンドポイントをポイントしています。これの前に、私はbuild.sbtで以下を試しました

resolvers += "Maven Repo" at  "https://repo1.maven.org/maven2/" 

と追加されました

"org.codehaus.plexus" % "plexus-component-api" % "1.0-alpha-16", 

私のbuild.sbtで明示的にlibraryDepdencyとして、それがキャッシュされ、どこからプルされるかを制御できない場合に推移的に来ないようにすることができます。しかし、これも失敗します。 m2とivy2の両方のキャッシュをクリアしました

9
agyeya

osxの場合:

  • ターミナルを開きます。
  • ./sbtにcdします(私の場合は/Users/your-user/.sbt)
  • touch repositories
  • nano repositories
  • 以下を貼り付けます(必ず[リポジトリ]の後に新しい行を追加してください)

[リポジトリ]
maven-central: https://repo1.maven.org/maven2/

0
NicolayM