Как вы получаете компиляцию приложения AWS Java в экземпляре EC2?

#java #amazon-web-services #amazon-ec2

#java #amazon-web-services #amazon-ec2

Вопрос:

Возникли некоторые проблемы при попытке скомпилировать мой java-файл в экземпляре EC2 в AWS. Я создаю файл на своем локальном компьютере, и он отлично работает там. Затем я перемещаю файл .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 в экземпляр или тому подобное.

Комментарии:

1. Как вы обычно выполняете сборку? Вам абсолютно необходим инструмент сборки, как предложено.

Ответ №1:

Если вы собираетесь использовать javac, вам понадобится jar в пути к классу, который вы можете загрузить из AWS SDK Java. Однако это действительно старомодный способ сделать это, и вы, вероятно, столкнетесь с адом зависимостей, поскольку для этого понадобятся другие библиотеки. На вашем месте я бы проверил инструмент сборки, такой как Maven или Gradle, который помогает с подобными вещами.

Ответ №2:

Похоже, что пакет AWS SDK отсутствует в вашем экземпляре EC2. Вы можете попробовать использовать функцию AWS Code Pipeline для сборки и развертывания кода.

Используйте Code Build для сборки пакета и Code deploy для развертывания исполняемого файла в EC2. Или используйте любой другой CI / CD для сборки и развертывания кода.

Ответ №3:

Лучше используйте 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