2017-09-12 6 views
0
  • 問題:こんにちはみんな! :私は私が を見ることができるようになりました私は変更(例を作るたびに、私は がsrc/main/resourcesで私JSONデータを格納する.jsonいくつかのファイルを作成しますが、している、私は RESTful APIを構築していた中でMavenプロジェクトを作成しましたユーザーを登録する - ファイルに書き込む)、WARファイルを再デプロイするか、 サーバーを再起動/再ロードすると、すべての変更が失われます。
  • 誰かが私の問題を解決するためにシステムPATH variableを使用する方法を教えてください。 私の問題?私は、サーバが再ロードされているかどうかを心配することなく、 を更新することができるファイルをどこかに保存したい。前もって感謝します! Java構成およびクラスパスと
+0

からフォルダごとにあなたのJSONファイルを検索する必要が

  • 変数PATH内の各フォルダを取得するために取得した(例えばStringTokenizer付き)文字列を解析するために存在していおそらくtomcatのフォルダや何かにそれらを格納する方法は? –

  • +0

    JSONファイルにアクセスするためにクラスローダーを使用していますか? –

    +0

    はいクラスローダーを使用しています。私はそれが正しい方法ではないと推測しています。 –

    答えて

    1

    SMART WAY、(UNIXの例では、アプリケーションをこのように起動する)

    java -classpath $PATH <your-class-name> 
    

    または

    setenv CLASSPATH = $PATH 
    

    unixwindows instructionsを参照してください。

    BAD WAY、アプリケーションコード

    1. 以内にあなたはSystem.getenv()を呼び出した後、返されたマップ内で「PATH」の要素を探しているOS環境からPATH変数を読み取ることができます。
    2. は、その後、あなたが前のポイント
    +0

    スマートウェイについて、 'コントロールパネル - >システム - >アドバンス設定 - >環境変数 - >パス'に進み、自分の.JSONファイルを保存したフォルダの場所のパスを追加することを意味しますか?それがあれば、それはどうすれば私を恩返しするのですか?サーブレットのコンテキストを再ロードすると(WARの再デプロイ)、変更は削除されませんでしたか? –

    +0

    あなたが今質問するものは java -classpath <あなたが保存した場所> .SSONファイル><自分のクラス名 ですが、元の質問に書いたことはどのように使用するかです"システムPATH変数"と 1 PATH変数に含まれるディレクトリに.JSONファイルを置くことを意図していました。 2 PATH変数の値をJavaプロセスに渡す方法を説明しました。 .JSONファイルはJAVA – mrq

    +0

    から表示されます。3毎回同じコマンドラインを使用する限り、WAR再デプロイメントは問題になりません。クラスパスは毎回同じ方法で設定されます 4 PATH変数はMicrosoft Windowsの概念ですが、これは正しくありません.Linuxシェルには同じ意味のPATH変数があります – mrq

    関連する問題