1

私は Web アプリケーション開発者の小さなチームで働いています。私たちは自分のマシンで Eclipse で JSP を編集し、それらを共有アプリケーション サーバーに移動して変更をテストします。マシン上のすべての JSP を取得してアプリケーション サーバーに移動する Ant スクリプトがありますが、マシン上の JSP が「新しい」場合にのみ JSP を上書きします。これはほとんどの場合うまく機能しますが、常にではありません。私たちの update メソッドはファイルの変更日時を保持しないため、私のマシンの Update は、ファイルが実際に最後に変更された日時ではなく、ファイルの日時を現在に設定する可能性があります。他の誰かが 1 時間前にそのファイルで作業した場合 (ただし、まだ変更をコミットしていない場合)、私の PC 上の古いファイルは実際には新しい日付になります。そのため、Ant スクリプトを実行すると、変更内容が古いファイルで上書きされます。

私が探しているのは、現在作業中のファイルを移動する簡単な方法です。Antスクリプトで「現在の」ファイルを指定する方法はありますか? または、Eclipse 内で現在のファイルを移動する簡単な方法はありますか? おそらく、この種のことを行うための良いプラグインでしょうか? Windows エクスプローラーに行ってファイルを個別に移動することもできますが、Eclipse 内から実行できるようにしたいと考えています。

4

5 に答える 5

1

@matt b で説明されているように、コマンド ライン プロパティ定義を使用して単一の jsp をコピーするために、 antビルド ファイルにターゲットを追加します。

新しい外部ツール起動プロファイルを作成し、「文字列置換設定」を使用して、エディターでアクティブなファイルへの参照を渡します ( resource_name)。

Eclipse ヘルプ | を参照してください。Java 開発ユーザー ガイド | リファレンス | 設定 | 実行/デバッグ | 打ち上げ | 文字列置換

于 2008-11-18T19:34:18.033 に答える
0

Ant は、どのファイルが「最新」であるかをどのように知るのでしょうか? それは知る由もありません。

ファイルの名前を Ant スクリプトに渡すことができ-Dます (Ant に渡すすべての引数が自動的にスクリプトのパラメーターになるという事実を利用して)...

ant -Dfile=myfile.jsp 更新

スクリプトを次のようにします...

<copy file=${myfile} todir="blah"/>

...しかし、コマンドラインでファイルの名前を常に入力するのはおそらく面倒です。

正直なところ、複数の開発者が環境を共有している場合、あなたが説明したタイプの問題は避けられません。あなたとあなたのチームにとって長期的には、コードがプロモートされる前に、各開発者がローカルのアプリケーション サーバー インスタンスで作業/テストすることをお勧めします。これにより、アプリ サーバーを他のユーザーと共有する際の頭痛の種、ボトルネック、スケジューリングの問題がすべて解消されます。

于 2008-11-18T19:03:47.220 に答える
0

複数の人が同じことに取り組んでいるときはいつでも、ソース管理を実際に使用する必要があります (まあ、関係なくいつでも使用する必要がありますが、それは別の話です)。このようにして、このような競合が発生した場合、ツールはそれを認識し、誰かにマージを実行させて、誰の変更も失われないようにします。その後、テスト サーバーはソースからのクリーンなチェックアウトで実行でき、各開発者はアプリケーション全体をローカルでテストすることもできます。これは、全員の変更がソース リポジトリを通じて即座に利用できるようになるためです。

于 2008-11-18T19:05:40.273 に答える
-1

ソース管理を使用することをお勧めします。私はSubversionの方が好きです。CruiseControlを使用して、誰かが新しいコードをコミットするたびに自動的にビルドを作成できます。

于 2008-11-18T20:21:07.203 に答える