我尝试将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文件夹。
那么这里有什么问题,我该如何解决这个问题?
答案 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>