Java 使用gradle部署springboot项目:任务';的执行失败:部署测试&x27;
我用gradle编写了一个springboot项目,我想部署它 下面是我在Java 使用gradle部署springboot项目:任务';的执行失败:部署测试&x27;,java,spring,gradle,Java,Spring,Gradle,我用gradle编写了一个springboot项目,我想部署它 下面是我在build.gradle中的部分代码: remotes { localtest { host = '192.168.0.116' user = 'root' password = '*****' } } task deploytest(dependsOn: build) << { ssh.run { session(remotes.localtest) {
build.gradle
中的部分代码:
remotes {
localtest {
host = '192.168.0.116'
user = 'root'
password = '*****'
}
}
task deploytest(dependsOn: build) << {
ssh.run {
session(remotes.localtest) {
put from: 'build/libs/test-0.0.1-SNAPSHOT.jar', into: '/opt/test/'
execute "cd /opt/tieba"
execute 'nohup java -jar -Dspring.profiles.active=test test-0.0.1-SNAPSHOT.jar & echo $! > application.pid'
}
}
}
细节 org.gradle.api.tasks.TaskExecutionException:任务“:deploytest”的执行失败 原因:com.jcraft.jsch.JSchException:拒绝主机密钥:192.168.0.116
我通过在ssh配置中设置
knownHosts=allowAnyHosts
来修复它,完整的设置是
remotes {
localtest {
host = '192.168.0.116'
user = 'root'
knownHosts = allowAnyHosts
password = '*****'
}
}
遇到相同的问题,服务器使用的是ED25519 我删除了
~/.ssh/known_hosts
中的对应行,使用ssh keyscan-t rsa myserver.tld检索了rsa横幅,并将结果复制回known_hosts
看起来比设置knownHosts=allowAnyHosts
更好。您可以从终端登录到此主机吗?服务器的公钥是否已存在于您的known_hosts文件中?这可能是你面临的问题吗:?@DavidTanzer谢谢你的回答,它帮助了很多ssh keyscan-t rsa server.com>~/.ssh/known_hosts
remotes {
localtest {
host = '192.168.0.116'
user = 'root'
knownHosts = allowAnyHosts
password = '*****'
}
}