it-mure.jp.net

ec2コマンドをgit-bashで実行するにはどうすればよいですか?

今朝、Windowsにec2コマンドラインツールをインストールしました。コマンドを実行しようとすると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だけを開くと、すべて正常に機能します。 gitbashをすべてに使用できるようにしたいと思います。 git bashはcmdプロンプトを使用しますが、追加のオプションがあることに気付きました。 git bashのショートカットには、ターゲットに次のものがあります。

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

Ec2コマンドラインツールをgitbashで実行するにはどうすればよいですか?

7
citizen conn

私はここで解決策を見つけました: bashシェルは.batファイルを実行しません

実行

cmd.exe '/c filename.batorexe' 

適切なディレクトリにあります(何らかの理由でサブフォルダを作成できません)。

2
Will Stone

違いは、Git Bash(MINGW)が一部の環境変数をWindowsパス形式から* nixパス形式に変換しないことです。 PATHの変換は行いますが、EC2_HOMEまたはCLASSPATHは行いません。

同じエラーが発生し、Git Bashでこれら2つの環境変数を設定した後、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環境変数を変更する代わりに)自動的に設定できます。これにより、GitBashとWindowsコマンドラインの両方で機能します。

2
wisbucky

Windowsのgit-bashでも、「cmd」と入力してCMDモードに入り、通常のcmd-wayでコマンドを使用できます。

だから、あなたもそれを試すことができます.....これはあなたが異なるタスクのために異なるコンソールを開くことを免れるでしょう。

0
AbhishekKr

あなたの問題は、見つからないクラスです。 bashシェルがcmdシェルと同じ環境にアクセスできないようです。適切な環境をセットアップすると、bashシェルが機能するはずです。

0
Ronny