NetBeansを使用して作成したjava .jarファイルがあります。私はapache procrun(prunsrv.exe)を使用して、その.jarをWindowsサービスとしてインストールしています。 config.propertiesファイルからプロパティを取得するようにコードを修正しました。 私はconfig.propertiesが私の.jarファイルが常駐同じフォルダにファイルを追加、次のように 私のコードは次のとおりです。私のコードの最後の行にprunsrvサービスと外部プロパティファイル
Properties props = new Properties();
InputStream inputStream = MyService.class.getClassLoader().getResourceAsStream("config.properties");
props.load(inputStream);
を私がしようとしたとき、私はNPEを取得しています私のサービスを開始する。私はこれがファイルが見つからないためだと仮定します。私も(私の.jarファイルが置かれている場所にサブフォルダ)「のlib」フォルダにconfig.propertiesをコピーしようとした
Class-Path: .
次のように 私はMANIFEST.MFを変更しました。同じ結果。
私は次のようにサービスをインストールするバッチファイルで「PR_CLASSPATHを設定する」の行を変更:
set PR_CLASSPATH=MyService.jar;.
まだ同じNPE。
サービスがインストールされたら、私のコードが自分のconfig.propertiesファイルを認識できるようにするにはどうすればよいですか?
おかげで、 レイモンド
同じ問題です。私はそのメソッドに "config.properties"を渡し、InputStreamはまだnullです。 –
設定ファイルを特定の絶対パス(c:\ test)にコピーし、クラスパスをそのフォルダ(PR_CLASSPATH = MyService.jar ;; c:\ test)に変更することができます。そして再試行? –
それはそうしました。私はそれを試して、それが働いた後、私は単に自分のルートの下に "resources"フォルダを作成し、それを私のCLASSPATHに追加しました。私の問題は、install.batの "set PR_CLASSPATH"と組み合わせてmanifest.mfを使用することだと思います。私は自分のmanifest.mfのClass Pathエントリを削除し、PR_CLASSPATHを修正して必要なものすべてを追加しました。 –