Jsch和Maven有什么问题?

时间:2011-09-27 16:24:40

标签: maven jsch

我尝试将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 compile maven看起来很正常,并告诉我Jsch已成功下载。

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

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

3 个答案:

答案 0 :(得分:4)

有不同的可能性:

  • 您已为jsch使用了正确的Maven存储库(似乎是这一个: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

正常运作。

答案 1 :(得分:4)

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

<repository>
    <id>Jsch</id>
    <url>http://jsch.sf.net/maven2/</url>
</repository>

答案 2 :(得分:3)

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>