- PR -

Eclipse+CVSNTで*.propertiesファイルがチェックアウトできない

1
投稿者投稿内容
おかじー
会議室デビュー日: 2003/02/21
投稿数: 10
投稿日時: 2003-02-21 10:55
連載:快適なXPドライビングのすすめ 第3回を参考にしながら、
EclipseとCVSNTでチーム開発を始めてみました。

以下のような現象が発生しています。
サーバからチェックアウトすると、リソースファイル(?)がローカルにコピーされません。
具体的なファイルは、
・ApplicationResources.properties(Struts用リソースファイル)や
・log4j.properties(Log4J用リソースファイル)です。
上記ファイルの保存フォルダは、
・%プロジエクトのルート%WEB-INF\classes\
です。
CVSサーバ上には、ApplicationResources.properties,v等の名前で、確かに存在します。
また、Eclipseにて「リポジトリと同期化」を実行すると、
「同期化ウィンドウ」には上記ファイルが表示されています。
原因等、おわかりでしたら、ご教授下さい。

環境:
サーバ
 Win2K(SP3)
 CVSNT 1.11.1.3-65
クライアント
 Win2K(SP3)
 Eclipse 2.0.2
 JDK1.4.1_01
 Tomcat4.1.18
KOUJI YAKOU@IT
@ITエディタ
会議室デビュー日: 2002/07/05
投稿数: 16
投稿日時: 2003-02-22 01:14
@IT編集局の谷古宇と申します。
筆者にアドバイスを求めてみます。
しばらくお待ちくださいませ。
agt
会議室デビュー日: 2002/12/25
投稿数: 4
投稿日時: 2003-02-22 12:48
筆者の縣です。

この現象はたぶんリソースファイル(.properties等)をWEB-INF/classesなど、
クラスファイル出力先に配置しているからではないでしょうか?
ためしに、WEB-INF/classes以下に適当なhoge.propertiesなどを配置して、
[プロジェクトの再ビルド]をしてみてください。hoge.propertiesが削除されると
思います。

Eclipseの場合、クラスファイル出力先にリソースファイルを配置した場合、
ビルドの際にリソースファイルが削除される仕様になっています。

よって、StrtusなどでWEB-INF/classesにリソースファイルを置きたい場合、
WEB-INF/classes以下ではなく、ソースディレクトリにリソースファイルを配置します。
すると、ビルドのタイミングでリソースファイルがソースディレクトリからクラスファイル出力先にコピーされます。以下に例を示します。

■ディレクトリ構成
[プロジェクトルート]
 +[src] ・・・ソースディレクトリ
 +[conf] ・・・プロパティファイルを配置。
 +[WEB-INF]
  +[classes]・・クラス出力先。ここにはプロパティファイルを置かない

■設定手順
1.[プロジェクト右クリック] - [プロパティ] - [Javaのビルドパス] - [ソースタブ]
2.[既存フォルダの追加] - [src]と[conf]を追加
3.[ビルド出力先フォルダ]ーを[WEB-INF/classes]に設定
4.[OK]

この状態でビルドを行うと、src以下のソースファイルがコンパイルされてclasses以下に
コピーされ、conf以下のファイルもclasses以下にそのままコピーされます。

何か問題がありましたら、またご連絡下さい。

[ メッセージ編集済み 編集者: agt 編集日時 2003-02-22 12:49 ]
おかじー
会議室デビュー日: 2003/02/21
投稿数: 10
投稿日時: 2003-02-22 13:54
ありがとうございます。解決致しました。

実は、
「WEB-INF/classes以下の*.propertiesファイルが時々消える」という現象も発生していたのですが、この御説明で、原因が分かりました。

とても丁寧な解説ありがとうございましたm(__)m
1

スキルアップ/キャリアアップ(JOB@IT)