1

私のプロジェクトの展開に少し問題があり、何時間も Web を検索しても、これに対する答えが見つかりません。

状況: 私は、使用中に生成されるアップロードやその他のファイルを保持する Web アプリケーションに取り組んでいます。簡単にするために、これらを次の場所に保存します。.../mywebapp/web/some subfolders/*

ここまでは順調ですね。

私の問題: プロジェクトを実際のサーバーに再デプロイするたびに (クラス/jsp を更新した後)、Glassfish は.../mywebapp/再デプロイ中にコンテンツ全体を削除します。

これまでの私の手順:

  1. 私の webapp の最新バージョンを .war としてエクスポートします。
  2. 変更したファイルをサーバー上の .war ファイルに追加します (名前を .zip に変更してから .war に戻します)。
  3. 管理コンソール (locahost:4848) を使用して、サーバーに .war を再デプロイします。

私の質問は、 この現在の手順はデータが失われる可能性が非常に高いです (ファイルを失う可能性があります!) 実行時に追加されたすべてのファイルを失うリスクなしに、サーバーに変更をアップロードできる簡単な方法はありますか?

4

2 に答える 2

1

2 つの選択肢があります。

  1. データを「安全な場所」に移動します (配置ディレクトリ以外の場所を見つけます。データベースなど)。

  2. アーカイブ展開ではなく、ディレクトリ展開に切り替えます。

これらの 2 つの選択肢のうち、最初の選択肢の方が優れています。これは、他の選択肢よりも移植性が高くなります。そこにあるすべてのサーバーは、アーカイブの展開をサポートしています。多くのサーバーはディレクトリベースの展開をサポートしています...しかし、それらはすべて少し異なる方法で実行しています...そのため、Aに展開するディレクトリ構造はBに展開しない場合があります.

于 2013-02-02T16:11:29.880 に答える
0

これと同じ問題があり、XCOPY と Event Scheduler を使用して解決しました。

事実上、2 つのフォルダーを継続的に同期しています

次のバッチ ファイルのスケジュールされたタスクを X 分ごとに実行する

sync.bat:

xcopy "domain1\applications\%YOUR_APP_NAME%l\path\to\folder" "D:\folder\to\sync" /D /I /Y

xcopy "D:\folder\to\sync" "domain1\applications\%YOUR_APP_NAME%l\path\to\folder" /D /I /Y

スイッチ:

/D - Only copy newer files if the destination file exists

/I - If the destination does not exist, and you are copying more than one file, this switch assumes that the destination is a folder.

/Y - Overwrite without prompting
于 2014-01-29T05:10:10.980 に答える