4

我尝试将 Jsch 0.1.44 与 Maven 一起使用。

我的 pom.xml 中有以下依赖项。

<dependency>
    <groupId>com.jcraft</groupId>
    <artifactId>jsch</artifactId>
    <version>0.1.44</version>
    <scope>compile</scope>
</dependency>

如果我运行mvn compilemaven 看起来很正常,并告诉我 Jsch 已成功下载。

但是在编译时,找不到 Jsch 类。如果我查看我的本地存储库,我可以看到 Jsch-jar 的大小只有 3kb。如果我打开 jar 文件,我还可以看到只有 META-INF 文件夹。

那么这里出了什么问题,我该如何解决这个问题?

4

3 回答 3

4

有不同的可能性:

  • 您已经使用了正确的 Maven 存储库jsch(似乎是这个: http: //mvnrepository.com/artifact/com.jcraft/jsch/0.1.44-1),但无论出于何种原因,下载都停止了。发生这种情况,您只需通过删除目录jsch或版本来清除本地存储库。它将再次重新加载。
  • 也许您错误地配置了远程存储库jsch,并且jsch保存在某个地方,但不是库,只有元数据。我不知道是否可以从哪个位置查看您获得了错误的库。

您应该查看您的settings.xml(对于 Maven 或您的用户)并查看是否正确指定了存储库。

您应该检查命令是否

mvn dependency:get -DrepositoryUrl=http://mvnrepository.com/artifact/ \
                   -DgroupId=com.jcraft -DartifactId=jsch -Dversion=0.1.44 \
                   -Dtransitive=false

工作正常。

于 2011-09-27T16:57:29.963 回答
4

由于某种原因,中央存储库中的 jar 文件似乎已损坏。解决方案是将 Jsch 的另一个存储库添加到 pom.xml。

<repository>
    <id>Jsch</id>
    <url>http://jsch.sf.net/maven2/</url>
</repository>
于 2011-09-28T05:36:51.247 回答
4

0.1.44版本坏了(只有3KB)

http://mvnrepository.com/artifact/com.jcraft/jsch/0.1.44

使用http://mvnrepository.com/artifact/com.jcraft/jsch/0.1.44-1代替

将您的 POM 更新为:

<dependency>
  <groupId>com.jcraft</groupId>
  <artifactId>jsch</artifactId>
  <version>0.1.44-1</version>
</dependency>
于 2014-11-08T01:14:38.000 回答