2016-05-11 3 views
1

jschを使っている簡単なsbtプラグインを作成しようとしています。セキュリティ上の理由(ecdsa)のため、私の要件は0.1.53にjschを使用することです。sbtプラグインを書くときにライブラリ退去を処理するにはどうすればいいですか?

libraryDependencies += "com.jcraft" % "jsch" % "0.1.53" 

残念ながらorg.scala-sbt:ivy 2.3.0が0.1.46への依存を紹介:私は私のbuild.sbtファイルに依存関係を宣言しました。 SBTによると、実行時にプラグインを使用すると、まだ0.1.46のjschに対して実行されていることがわかりますが、古いバージョンは削除されています。私は、バージョン0.13.11 にSBT使用

[info] com.jcraft:jsch 
[info]  - 0.1.46 
[info]   status: release 
[info]   publicationDate: Thu Feb 02 13:39:27 CET 2012 
[info]   resolver: sbt-chain 
[info]   artifactResolver: sbt-chain 
[info]   evicted: true 
[info]   evictedData: latest-revision 
[info]   homepage: http://www.jcraft.com/jsch/ 
[info]   isDefault: false 
[info]   configurations: default, compile, runtime, default(compile), master 
[info]   licenses: (Revised BSD,Some(http://www.jcraft.com/jsch/LICENSE.txt)) 
[info]   callers: org.scala-sbt:ivy:0.13.11 
[info]  - 0.1.53 
[info]   status: release 
[info]   publicationDate: Fri Jun 05 17:32:00 CEST 2015 
[info]   resolver: sbt-chain 
[info]   artifactResolver: sbt-chain 
[info]   evicted: false 
[info]   homepage: http://www.jcraft.com/jsch/ 
[info]   isDefault: false 
[info]   configurations: default, compile, runtime, default(compile), master 
[info]   licenses: (Revised BSD,Some(http://www.jcraft.com/jsch/LICENSE.txt)) 
[info]   callers: com.evojam:sbt-ssh:0.1.1-SNAPSHOT (scalaVersion=2.10, sbtVersion=0.13), org.scala-sbt:ivy:0.13.11 

私はテストプロジェクトに自分のプラグインを追加しました。[info]ローカルバージョンの文字列:SSH-2.0-JSCH-0.1.46 サポートされていないアルゴリズムに関するエラーで、jschのバージョンが何とかオーバーライドされたという結論に導きます。 。

sbtプラグインの作成時にライブラリ退去に対処する方法は?

dependencyOverrides += "com.jcraft" % "jsch" % "0.1.53" 

しかし、私はJSCHのSBTのバージョンは、プラグインの前に、JVMのクラスパスにロードされている疑いがある:

答えて

0

は、あなたが試みることができるように。

ivy 2.4にアップデートするにはsbtの問題があります。それはまた、使用されたjschのバージョンを更新するでしょう:https://github.com/sbt/sbt/issues/1920

+0

残念ながら、これは動作しません。私は少し時間がかかるかもしれませんが、更新されたjschでアイビー2.4を見てうれしいです。 – ar2r

関連する問題