7

Я установил средства командной строки ec2 на Windows этим утром. Когда я пытаюсь запустить команду ec2-describe-instances в git bash, я получаю такой вывод:

Exception in thread "main" java.lang.NoClassDefFoundError: com/amazon/aes/webservices/client/cmd/DescribeInstances
Caused by: java.lang.ClassNotFoundException: 
com.amazon.aes.webservices.client.cmd.DescribeInstances
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: com.amazon.aes.webservices.client.cmd.DescribeInstances. 
Program will exit.

Но если я открою только стандартный cmd , все работает нормально. Я хочу иметь возможность использовать мой git bash для всего. Я заметил, что git bash просто использует приглашение cmd, но с дополнительными опциями. Это ярлык для git bash:

C:\Windows\System32\cmd.exe /c "" C:\Program Files\Git\bin\sh.exe "--login -i"

Как я могу запустить инструменты командной строки ec2 в git bash?

4 ответа4

2

Я нашел решение здесь: оболочка bash не запускает .bat файлы

Бежать

cmd.exe '/c filename.batorexe' 

в соответствующем каталоге (вы не можете сделать подпапку по какой-то причине).

2

Разница в том, что Git Bash (MINGW) не конвертирует некоторые переменные окружения из формата пути Windows в формат пути * nix. Он выполняет преобразование для PATH, но не EC2_HOME или CLASSPATH.

У меня была та же ошибка, затем после установки этих двух переменных среды в Git Bash командная строка ec2 работала отлично:

export CLASSPATH="/c/Program Files/ec2-api-tools-1.6.6.3/lib"
export EC2_HOME="/c/Program Files/ec2-api-tools-1.6.6.3"

Вы можете добавить это в .bash_profile, чтобы автоматически устанавливать его при каждом запуске Git Bash (вместо изменения переменных среды Windows), чтобы он работал как в Git Bash, так и в командной строке Windows.

0

Даже в git-bash для окон вы можете войти в режим CMD, набрав «cmd», а затем использовать команды обычным способом.

Таким образом, вы даже можете попробовать это ... это избавит вас от открытия разных консолей для разных задач.

0

Ваша проблема в том классе, который не найден. Кажется, ваша оболочка bash не имеет доступа к той же среде, что и оболочка cmd. Установите правильную среду, и оболочка bash должна работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .