私の質問は2倍です。まず、問題を説明し、次に、クラスローダーを実装することを前提とし、Webアプリケーションでこれを行う方法について説明します。Webアプリケーションリソースの読み込みをリダイレクトするためにClassLoaderを拡張する必要がありますか?
私の問題はこれです:私たちの会社は、他社のフレームワークを使用しています。 XMLファイルを使用してWebページを生成し、これらのXMLファイルは別のライブラリ(jarファイル)内にあります。これらのライブラリは頻繁に(毎週?)生成されるため、ダイナミックなものではありませんでしたが、フィールドの数、収集する情報のタイプ(日時、コンボボックスなど)などが決定されます。
これらのフィールドを動的に動かすことができるかどうかという疑問が私の会社によって提案されました(動的には、ページを更新してレイアウトの変更の効果を見るのが理想です)。
- ツールを作成します。私はそれが私は2つの可能性を持っていることを意味し、いくつかの予備試験を行なったし、これらのXMLファイルは、瓶に位置しているので、XMLを変更すると、しかし、ウェブページ上の所望の効果が得られないことを発見しました私のウェブアプリケーションの範囲外でjarを変更しますが、明らかに動的ではないことを意味します。さらに、私はツールを管理するためにWebアプリケーションとは別にインターフェイスを作成する必要があります。さらに、私はこれが信じられないほどハッキリなアプローチであるとの印象を揺さぶるように見えることはできません。
- 私はクラスローダー(具体的には
getResourceAsStream
)を実装しています。デフォルトの動作ではなく、そのようなxmlファイルをロードする呼び出しが表示されたら、必要に応じて元の情報に基づいてxmlファイルを生成し、 (この場合、サードパーティのフレームワークになる)呼び出し元へのリソース
最初の質問は、#2私の最善の選択肢ですか、または他のオプションが存在しますか(または私は#1に固執する必要があります)?
私の2番目の質問は、自分のクラスローダーを実装する必要があると仮定して、私のWebアプリケーションでこれを行うにはどうすればよいでしょうか?私はTomcat 7を使用していますが、可能であれば、私が使用しているWebコンテナとは独立したソリューションを提供したいと思います。
ご協力いただければ幸いです!
フレームワークがクラスパスから* XMLのみを読み込めるかどうかをまずチェックします。ファイルシステムの読み込みなどのために他の 'コネクタ'があるかもしれません。もしそうでなければ、他の 'コネクタ'を許可するようにコードを修正するのが簡単だろうと思います。どちらも可能でない場合、私はあなたのアイデアは有望なものだと思います。私は 'classpathコネクタ'しか提供していないフレームワークを扱っています。**非常に**迷惑です! –
私はコネクタに精通していません。私は、xmlファイルがクラスローダーを使ってアクセスされていることを100%も確信していません。私はちょうどそれがクラスローダーが使用されているjarファイル内にあると仮定します。コネクターが使用されていないことを確認する方法はありますか?ご返信ありがとうございます、@PaulGrime! – Neil
こんにちは、コネクター固有のものではありませんでした。コネクターは、アプリケーションにXMLコンテンツを提供するコードを意味していました。 –