ダウンロード
Magazine
開発
アカウント
ダウンロード
Magazine
開発
ログイン
アカウント/パスワードを忘れた
アカウント作成
言語
ヘルプ
言語
ヘルプ
×
ログイン
ログイン名
パスワード
×
アカウント/パスワードを忘れた
日本語の翻訳状況
カテゴリ:
ソフトウェア
人物
PersonalForge
Magazine
Wiki
検索
OSDN
>
ソフトウェアを探す
>
ソフトウェア開発
>
Amateras
>
チケット一覧/検索
>
チケット #10185
Amateras
概要
プロジェクト概要
開発ダッシュボード
Webページ
開発メンバー
画像ギャラリー
公開フィード一覧
活動
統計情報
活動履歴
ダウンロード
リリース一覧
統計
ソースコード
コードリポジトリリスト
Subversion
リポジトリ閲覧
CVS
リポジトリ閲覧
チケット
チケット一覧
マイルストーン一覧
チケットの種類一覧
コンポーネント一覧
よく使われるチケット一覧のリスト/RSS
新規チケット登録
文書
FrontPageの表示
ページ一覧
最近の更新
コミュニケーション
フォーラム
フォーラム一覧
English (1295)
Japanese (319)
メーリングリスト
MLの一覧
ニュース
チケット #10185
チケット一覧/検索
新規チケット登録
RSS
[EHE]ルートが削除されるとtaglibの補完がErrorになり、かつ回復困難
登録:
2007-03-29 12:54
最終更新:
2008-11-30 00:05
モニタ
ON
OFF
報告者:
kawaz
担当者:
takezoe
チケットの種類:
バグ
状況:
オープン [担当者決定済み]
コンポーネント:
EclipseHTMLEditor
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
なし
詳細
ant や maven 等のビルドツールを使って開発する場合、WEB-
INF/lib 以外の場所に jar ファイルがあり、
war にパッケージングする際に最終イメージのディレクトリ
にファイルをコピーするということが良くあります。
例えばディレクトリ構成が以下のようになっているとします。
src/
java/ ←Javaのソースファイル
webapp/
WEB-INF/
lib/ ←ここにはjarは無い
web.xml
:
target/ ←ビルドを実行すると作成される
classes/
webapp/ ←ビルドによりsrc/webappからコピーされる
WEB-INF/
lib/ ←依存jarもコピーされている
web.xml
この場合、
Amaterasのrootを/src/webappに設定しているとjarが無いた
めtaglibの補完や検証が出来ません。なので必然的に
/target/webappをルートに設定することになります。
Amaterasのrootを/target/webappに設定すればjarが見つけら
れるのでtaglibの補完が出来るようになります。
しかし、target は一度ビルドしないと存在しないし、仮に一
度ビルドしてあっても clean(削除) されることがあります。
そうするとEHEが/target/webappを見ている場合は,
clean後にいきなりtaglibの補完が出来なくなり、全てのタグ
がError表示になってしまいます。
しかも困ったことにAmaterasはrootが無くなったことはすぐ
に検出してエラーを表示するくせに、再度ビルドを実行して
既にファイルが出来たとしてもそれを検出してくれません。
一度Errorに陥るとjspファイルを開き直してもプロジェクト
をRefreshしてもEclipseを再起動しても直らないことが多い
です。
そして色々試行錯誤していると、何かの拍子に回復すること
もあります、でも何をトリガーにして回復するのか分かって
いません。
しかし苦労して回復してもcleanを実行するとまたエラーに
なって、これの繰り返しです…。
この問題の対応策として以下の2つが思いつきます。
1つは、Errorの状態に陥ってもrootが復活すればそれを速や
かに検出して補完が出来る状態に回復するようにする。
もう一つはtaglibの検索をWEB-INF/lib以外にEclipseの
JavaBuildPathからも探すようにする。その場合rootの設定は
src/webappにしておけばrootが削除されることが無いので問
題にならないと思われます。
しかし後者案はweb.xmlやtldファイル等もビルドツールで最
後に作成するようなケースではやはり同じような問題になり
場当たり的な対応であるというのは否めません。
cleanされてrootが存在しない状態で補完して欲しいとは言い
ません。前者の案のようにrootが復活したら速やかにError状
態の回復が出来るというのが望ましいと思います。
以上です。よろしくお願いいたします。
チケットの履歴 (1 件中 1 件表示)
2008-11-30 00:05
更新者:
takezoe
コンポーネント
が
(未割り当て)
から
EclipseHTMLEditor
に更新されました
添付ファイルリスト (
0
)
添付ファイルリスト
添付ファイルはありません
編集
このチケットにコメントを追加するには、ログインが必要です »
ログインする
INF/lib 以外の場所に jar ファイルがあり、
war にパッケージングする際に最終イメージのディレクトリ
にファイルをコピーするということが良くあります。
例えばディレクトリ構成が以下のようになっているとします。
src/
java/ ←Javaのソースファイル
webapp/
WEB-INF/
lib/ ←ここにはjarは無い
web.xml
:
target/ ←ビルドを実行すると作成される
classes/
webapp/ ←ビルドによりsrc/webappからコピーされる
WEB-INF/
lib/ ←依存jarもコピーされている
web.xml
この場合、
Amaterasのrootを/src/webappに設定しているとjarが無いた
めtaglibの補完や検証が出来ません。なので必然的に
/target/webappをルートに設定することになります。
Amaterasのrootを/target/webappに設定すればjarが見つけら
れるのでtaglibの補完が出来るようになります。
しかし、target は一度ビルドしないと存在しないし、仮に一
度ビルドしてあっても clean(削除) されることがあります。
そうするとEHEが/target/webappを見ている場合は,
clean後にいきなりtaglibの補完が出来なくなり、全てのタグ
がError表示になってしまいます。
しかも困ったことにAmaterasはrootが無くなったことはすぐ
に検出してエラーを表示するくせに、再度ビルドを実行して
既にファイルが出来たとしてもそれを検出してくれません。
一度Errorに陥るとjspファイルを開き直してもプロジェクト
をRefreshしてもEclipseを再起動しても直らないことが多い
です。
そして色々試行錯誤していると、何かの拍子に回復すること
もあります、でも何をトリガーにして回復するのか分かって
いません。
しかし苦労して回復してもcleanを実行するとまたエラーに
なって、これの繰り返しです…。
この問題の対応策として以下の2つが思いつきます。
1つは、Errorの状態に陥ってもrootが復活すればそれを速や
かに検出して補完が出来る状態に回復するようにする。
もう一つはtaglibの検索をWEB-INF/lib以外にEclipseの
JavaBuildPathからも探すようにする。その場合rootの設定は
src/webappにしておけばrootが削除されることが無いので問
題にならないと思われます。
しかし後者案はweb.xmlやtldファイル等もビルドツールで最
後に作成するようなケースではやはり同じような問題になり
場当たり的な対応であるというのは否めません。
cleanされてrootが存在しない状態で補完して欲しいとは言い
ません。前者の案のようにrootが復活したら速やかにError状
態の回復が出来るというのが望ましいと思います。
以上です。よろしくお願いいたします。