2017-09-06 30 views
1

データベースレプリケーションのツールSymmetricDSをダウンロードし、Windows7マシンで実行しようとしました。プログラムはコマンドラインから起動でき、Windowsターミナルで動作します。しかし、私は常にコマンドラインのもののためにGit Bashを好む。このツールは、Javaで書かれているGit BashでJavaアプリケーションを実行できません

Error: Could not find or load main class org.jumpmind.symmetric.SymmetricLauncher 

:私はコマンドsymを実行すると、私はエラーを得ました。私はJDK 1.8をインストールしています。 Git Bashは、Windowsの$PATH$JAVA_HOMEを含むすべての環境変数を継承しています。しかし、なぜそれはクラスを見つけることについて不平を言うのですか?

symコマンドは本当に、次のコマンドを実行している:

exec "$SYM_JAVA" $SYM_OPTIONS -cp "$CLASSPATH" org.jumpmind.symmetric.SymmetricLauncher "[email protected]" 

すべてのjarファイルは、アプリケーションのルートディレクトリの下libに位置しています。クラスパスはsym.service.confconf内のディレクトリに定義されています。

# Java Classpath 
wrapper.java.classpath.1=patches 
wrapper.java.classpath.2=patches/* 
wrapper.java.classpath.3=lib/*.jar 
wrapper.java.classpath.4=web/WEB-INF/lib/*.jar 

# Application main class and arguments 
wrapper.app.parameter.1=org.jumpmind.symmetric.SymmetricLauncher 

私はクラスパスをプリントアウトすると、それらのすべてが権利を取得するように見えるんでした右exececho $CLASSPATHを追加しました:

/c/Users/dnj0109/Apps/symmetric-server-3.8.29/patches: 
/c/Users/dnj0109/Apps/symmetric-server-3.8.29/patches/*: 
/c/Users/dnj0109/Apps/symmetric-server-3.8.29/lib/*: 
/c/Users/dnj0109/Apps/symmetric-server-3.8.29/web/WEB-INF/lib/* 
+0

この回答には何か不足しているものはありますか? – VonC

答えて

1

ことto this thread関連することができます

On Windows, the path separator is a semicolon (' ; ' instead of ' : ').
Don't ask why. Traditionally, the semicolon is interpreted by the Bash as the command separator, so you'll have to escape it:

$ java -cp lib/clojure-1.1.0.jar\;lib/clojure-contrib-1.1.0.jar 

If you wonder why it works with PATH: MSys has special handling routines for that.

+1

はい、あなたは正しいですが、そのトリックは ";"の前に ";" – Leon

+0

@ Leon確​​かに、私は ';' bashで – VonC

関連する問題