2016-09-21 9 views
0

アプリケーションを起動するためのbashスクリプトがあります。私のアプリケーションは、以下のマニフェスト項目を持つFAT JarにバンドルされたSpringアプリケーションです。スタートスクリプトからクラスパスを設定できません

Manifest-Version: 1.0 
Implementation-Title: My App 
Implementation-Version: 1.0-SNAPSHOT 
Implementation-Build: 0aef5a1f96de18795c76b896e349c741d9 
Implementation-Date: Sep 21, 2016 07:02:48 GMT 
Created-By: 1.8.0_77 (Oracle Corporation) 
Implementation-Vendor: App Team 
Main-class: com.demo.ApplicationInitializer 

これをフォルダ/Users/nn/apps/myapp/instance1の下に置きます。このアプリケーションでは、クラスパスのコンフィグレーションファイルconfigs.ymlが必要です。これはJARファイルの外にある必要があると判断されました。これが私がフォルダ/Users/nn/apps/myapp/sharedを作成し、それにこのconfigs.ymlを置く理由です。私の起動スクリプト(start.sh)で、私はクラスパスを設定するには、次のコードを追加しています:

JAVA_CLASSPATH="/Users/nn/apps/myapp/shared:/Users/nn/apps/myapp/instance1" 
JAVA_CLASSPATH="$JAVA_CLASSPATH:/Users/nn/apps/myapp/shared/configs.yml" 
export CLASSPATH=$JAVA_CLASSPATH 

java <my_other_settings> -jar myapp-fatjar.jar 

私は(私のアプリでのSpring Beanが例外をスローされ、これをロードしようとします)configs.ymlがクラスパスにないという例外を取得します。

を指し示すコマンドのをjavaに明示的に渡そうとしました。

私は間違っていますか?

答えて

1

次start.shスクリプトを試みることができる:

JAVA_CLASSPATH="/Users/nn/apps/myapp/shared:/Users/nn/apps/myapp/instance1" 
JAVA_CLASSPATH="$JAVA_CLASSPATH:/Users/nn/apps/myapp/shared/configs.yml" 
JAVA_CLASSPATH="$JAVA_CLASSPATH:myapp-fatjar.jar" 


java -cp $JAVA_CLASSPATH com.demo.ApplicationInitializer 

は `-cp`と` -jar`の両方を組み合わせることができないことを知ってhttps://stackoverflow.com/a/15930980/4473044

+0

その興味深いを参照してください。そして、これが私にとってまさに問題を引き起こしていました。 – Niranjan

関連する問題