1


0

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

私が探しているのは、現在作業中のファイルを移動するだけの簡単な方法です。 Antスクリプトで "現在の"ファイルを指定する方法はありますか? それともEclipse内で現在のファイルを移動する簡単な方法はありますか? この種のことをするためのおそらく良いプラグイン? 私はファイルを別に移動するためにWindows Explorerに出かけることができました、しかし私はEclipseの中からそれをすることができることを大いに望みます。

5 Answer


1


@matt bで説明したように、コマンドラインプロパティ定義を使用して単一のJSPをコピーするために、http://ant.apache.org [ant]ビルドファイルにターゲットを追加します。

新しい外部ツール起動プロファイルを作成し、 "String Substitution Preferences"を使用してエディタ内のアクティブファイルへの参照を渡します( resource_name)。

Eclipseヘルプを参照してください| Java開発ユーザーガイド|参照|環境設定|実行/デバッグ|起動|文字列の置換


0


Antは、どのファイルが「最新」であるかをどのように認識しますか? 知る方法がありません。

Antのスクリプトにファイルの名前を渡すことができます( `-D`でAntに渡す引数はすべて自動的にスクリプトのパラメータになります)。

_ ant -Dfile = myfile.jsp update _

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


…​but it would probably be a pain to constantly type in the name of the コマンドライン上のファイル。

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


0


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


-1


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


-1


antrunner4eプラグインはまさにあなたが探しているものです - http://sourceforge.net/projects/antrunner4e/を見てください