在尝试让我的.java文件在AWS的EC2实例上进行编译时遇到了一些麻烦。我在本地创建文件,并且在那里运行良好。然后,我将.java文件移到我的EC2实例中,并尝试使用以下代码进行编译:
javac imageRecognition.java
但是我最终遇到这样的错误:
imageRecognition.java:5: error: package com.amazonaws.regions does not exist
import com.amazonaws.regions.Regions;
^
imageRecognition.java:6: error: package com.amazonaws.services.rekognition does not exist
import com.amazonaws.services.rekognition.AmazonRekognition;
我假设这是因为EC2实例上没有软件包,但是我不确定如何下载/放置它们。或者,如果有完全不同的事情我需要做。任何帮助将不胜感激。
注意:我必须将其编译到EC2实例上的文件中,但是无法在该实例上移动可执行文件.jar或类似文件。
答案 0 :(得分:1)
如果要使用javac,则需要将jar放在类路径上,可以从AWS SDK Java下载。但是,这是一种非常古老的方法,您可能会遇到依赖地狱,因为它需要其他库。如果我是您,我会签出Maven或Gradle这样的构建工具来解决此类问题。
答案 1 :(得分:1)
您的EC2实例中似乎缺少AWS开发工具包。您可以尝试使用AWS Code Pipeline功能来构建和部署代码。
使用Code Build生成程序包,并使用Code deploy将可执行文件部署到EC2中。或使用任何其他CI / CD来构建和部署代码。
答案 2 :(得分:0)
最好使用Maven或Gradle。我在这种情况下使用了maven,并添加了如下的AWS依赖项:
<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk -->
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.863</version>
</dependency>
然后只需安装maven并运行mvn install