我遇到了 aws sdk 和 joda-time 的常见问题。即使互联网上有很多这些问题,我仍然无法解决......
Exception in thread "main" java.lang.NoSuchMethodError: org.joda.time.format.DateTimeFormatter.withZoneUTC()Lorg/joda/time/format/DateTimeFormatter;
at com.amazonaws.auth.internal.AWS4SignerUtils.<clinit>(AWS4SignerUtils.java:26)
at com.amazonaws.auth.internal.AWS4SignerRequestParams.<init>(AWS4SignerRequestParams.java:85)
at com.amazonaws.auth.AWS4Signer.sign(AWS4Signer.java:168)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:814)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:607)
at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:376)
at com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:338)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:287)
at com.amazonaws.services.ec2.AmazonEC2Client.invoke(AmazonEC2Client.java:11132)
at com.amazonaws.services.ec2.AmazonEC2Client.runInstances(AmazonEC2Client.java:10657)
at cloudSteuerung.AmazonWebServices.create(AmazonWebServices.java:33)
at de.bla.ccu.Test.main(Test.java:16)
Run Code Online (Sandbox Code Playgroud)
检查 maven 的依赖树我注意到几个 joda 依赖项。AWS 似乎需要 2.8.1 版,所以我在 pom 文件中明确添加了它,但错误仍然发生。我尝试了几个版本的 joda,但似乎没有一个版本可以正常工作。谁能帮我?我只是想运行 AWS sdk EC2 示例...
我正在尝试使用 JSch 将文件从 Windows 机器发送到 Linux 机器。因此,我将主机公钥从 Linux 机器复制到我的 Windows 机器,并将密钥添加到我的HostKeyRepository. 但由于某种原因,我收到“无效的密钥类型”异常。这是我的代码:
HostKeyRepository repo = jsch.getHostKeyRepository();
File file = new File("D:\\Uni\\Arbeit\\ssh_host_rsa_key.pub");
byte[] HK = Files.readAllBytes(file.toPath());
Session session=jsch.getSession(user, host, 22);
session.setPassword(password);
HostKey hk = new HostKey(null, HK);
repo.add(hk, null);
session.connect();
Run Code Online (Sandbox Code Playgroud) 我想替换文件中的字符串:
# - "server1"
Run Code Online (Sandbox Code Playgroud)
我的第一次尝试是这样的:
sed -i 's/#\ -\ "\server1"\.*/ChangedWord/g' file
Run Code Online (Sandbox Code Playgroud)
但如果我这样尝试,就会出现错误。
所以必须有另一种方法来处理空格,我想我必须使用 \s 或 [[:space:]]。但对于某些我无法使其发挥作用的方式。