アプリケーションを起動するための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
に明示的に渡そうとしました。
私は間違っていますか?
その興味深いを参照してください。そして、これが私にとってまさに問題を引き起こしていました。 – Niranjan