我准备打包我的代码,使用Jsch与ssh一起工作。对于打包,我使用gradle - 包含Jsch作为编译时依赖项。跑步时
java -jar java_ssh.jar
我得到了一个
com.jcraft.jsch.JSch上的NoClassDefFoundError
例外。 这是gradle构建文件:
apply plugin: 'java-library'
apply plugin: 'java'
apply plugin: 'org.junit.platform.gradle.plugin'
apply plugin: 'eclipse'
repositories {
mavenCentral()
}
jar {
manifest {
attributes 'Main-Class': '<my class with main method>'
}
}
dependencies {
compile 'com.jcraft:jsch:0.1.52'
}
我应该为构建指定更多信息吗? 在我的一个包括某种ssh相关jar? 还是班级路径?
使用Maven,我能够在gradle文件中使用这些行正确编译JSch。
“app”C:... \ AndroidStudioProjects ... \ library \ build.gradle
dependencies {
compile 'com.jcraft:jsch:0.1.54'
}
“Project”C:... \ AndroidStudioProjects ... \ build.gradle
allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
google()
}
}
在文件... \ app \ build.gradle中
dependencies {
...
implementation 'com.jcraft:jsch:0.1.55'
}