Encontrei uma solução aqui: o bash shell não executa ficheiros .bat
Executar
cmd.exe '/c filename.batorexe'
no diretório apropriado (você não pode fazer uma subpasta por algum motivo).
Eu instalei ferramentas de linha de comando ec2 no windows esta manhã. Quando tento executar um comando ec2-describe-instances
no git bash, recebo esta saída:
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.
Mas se eu abrir apenas o padrão cmd
, tudo funciona bem. Eu quero ser capaz de usar o meu git bash para tudo. Eu notei que o git bash apenas usa o prompt do cmd, mas com opções extras. O atalho para o git bash tem isso no alvo:
C:\Windows\System32\cmd.exe /c ""C:\Program Files\Git\bin\sh.exe" --login -i"
Como posso obter ferramentas de linha de comando ec2 em execução no git bash?
Encontrei uma solução aqui: o bash shell não executa ficheiros .bat
Executar
cmd.exe '/c filename.batorexe'
no diretório apropriado (você não pode fazer uma subpasta por algum motivo).
A diferença é que o Git Bash (MINGW) não converte algumas das variáveis de ambiente do formato de caminho do Windows para o formato de caminho * nix. Ele faz a conversão para PATH, mas não para EC2_HOME ou CLASSPATH.
Eu tive o mesmo erro, depois de configurar essas duas variáveis de ambiente no Git Bash, a linha de comando ec2 funcionou muito bem:
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"
Você pode adicionar isso ao .bash_profile para configurá-lo automaticamente sempre que você iniciar o Git Bash (em vez de alterar as variáveis de ambiente do Windows), assim ele funcionará no Git Bash e na linha de comando do Windows.
Mesmo no git-bash no windows, você pode entrar no modo CMD digitando 'cmd' e então usar os comandos no modo cmd normal.
Então, você poderia até tentar isso ... isso pouparia você de abrir diferentes consoles para diferentes tarefas.
Seu problema é a classe que não é encontrada. Parece que o seu shell bash não tem acesso ao mesmo ambiente cmd shell. Configure o ambiente certo e o shell bash deve funcionar.