• 締切済み

WeblogicのJavaのコンパイル

WebLogic(WebLogic Server 9.2)を使って開発をしています。 http://questionbox.jp.msn.com/qa4838819.html で質問をしたところ、 「古いJSPに戻してデプロイしても、JSPはコンパイルしなおさない」とのことでした。 では、JSP以外のソース(Javaソース)を古いものに戻した場合はどうなのでしょうか? やはりコンパイルしなおさないのでしょうか? コンパイルしなおさない場合、やはりJavaソースの更新日付を見て 新旧の判断をしているのでしょうか? また、初歩的な質問かもしれないのですが、コンパイルしたJavaソースはどこに展開されるのでしょうか? (JSPはweblogic.xmlのworkingDirパラメータで指定されたディレクトリに展開されているようですが)

  • Java
  • 回答数1
  • ありがとう数0

みんなの回答

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

> コンパイルしなおさない場合、やはりJavaソースの更新日付を見て > 新旧の判断をしているのでしょうか?  JSP以外のJavaソースはいかなる場合でも自動でコンパイルされたりはしないんじゃないでしょうか。それを行うのはEclipseなどの開発ツールの責任では? WebLogicにはそんな機能があるのかも知れませんけど、普通はデプロイの段階でwarファイルなりearファイルにはコンパイルされた.classファイルが含まれているのではないでしょうか。そもそも(JSPじゃなくて)サーブレットの場合はソースは一緒にデプロイしませんよね。ソースを含めずにwarファイル作りますよね。  JSPの場合が特別なのであって、JasperなどのJSPテクノロジ(http://java.sun.com/products/jsp/)に対応した仕組みで実現されているはずです。最近ではJSPも事前にコンパイルしたバイナリをデプロイするのではないでしょうか。開発環境なら話は別ですが。 > コンパイルしたJavaソースはどこに展開されるのでしょうか? > (JSPはweblogic.xmlのworkingDirパラメータで > 指定されたディレクトリに展開されているようですが) いや、ご自分でworkingDirパラメータで指定されたディレクトリに展開されているとおっしゃってるじゃないですか。そこに展開されているんじゃないのですか? そこにjavaファイルが見当たらないという事でしょうか。  再デプロイしてもWebアプリ(アプリケーションのID)が変わらないのであれば、無駄なコンパイルを避けるために日付を比較するのは妥当な事です。  index.jspファイルの日付<index_jsp.javaの日付の時にもコンパイルするのであればコンパイルする/しないの判断ができませんし、index_jsp.javaの日付とindex_jsp.classの日付でも同様ですよね。 $ touch index.jsp  ↓  index.jspの日付>index_jsp.javaの日付<index_jsp.classの日付 お、JSPの方が新しいからJSPをコンパイルしてjavaファイルを作ろう  ↓  index.jspの日付<index_jsp.javaの日付>index_jsp.classの日付 お、ソースの方が新しいからコンパイルしてclassファイルを作ろう  ↓  index.jspの日付<index_jsp.javaの日付<index_jsp.classの日付>WebLogicのJavaVMにロードされているclassの日付(をどうやって保持しているのかは知りません) お、バイナリが刷新されたからリロードしなきゃ  ↓  index.jspの日付<index_jsp.javaの日付<index_jsp.classの日付<WebLogicのJavaVMにロードされているclassの日付 ああ、これで安心。ページアクセスで新しいJSPの内容が表示されるようになる。  ↓  古いJSPに置き換えてみる。  ↓  index.jspの日付<index_jsp.javaの日付<index_jsp.classの日付<WebLogicのJavaVMにロードされているclassの日付 index.jspファイルは変わったようだけど日付(の関係)は変わらないな。コンパイルしても無駄からしない。

関連するQ&A

  • WebLogicのjspの日付について

    WebLogic(WebLogic Server 9.2)を使って開発をしています。 古いバージョンのモジュールに戻して動作確認したところ、 どうやら、JSPが古いバージョンに戻っていないようです。 調べてみたところ、最新にJSPを更新した場合にコンパイルして weblogic.xmlのworkingDirパラメータで指定されたディレクトリに出来ているようです。 (古いJSPに戻しても、JSPはコンパイルしなおさない?) 古いJSPに戻したい場合は、weblogic.xmlのworkingDirパラメータで指定されたディレクトリの中身を 消さなくてはいけないということでしょうか? また、JSPの新or旧の判断は、どことどこの日付を比較して判断しているのでしょうか? 宜しくお願いいたします。

  • WebLogic6.0 でのJSPプリコンパイルについて

    WebLogic6.0でJSPのプリコンパイルを行いたいのですが、 Javaコマンドからのコンパイルはできるのに、 weblogic.xml で <jsp-descriptor> <jsp-param> <param-name>precompile</param-name> <param-value>true</param-value> </jsp-param> </jsp-descriptor> と指定しても web.xml で <context-param> <param-name>weblogic.jsp.precompile</param-name> <param-value>true</param-value> </context-param> と指定しても、 エラーがでるだけ、または何も起こらずクラスファイルが生成されない、 となってしまいます。 WebLogic6.0のspecificationにはプリコンパイルの方法がのっているのに 付属のマニュアルにはのっていないので、これはいまだ 解決できないバグということなのでしょうか。 どなたかご存じの方がいましたら教えてください。

    • ベストアンサー
    • Java
  • weblogicで開発するにはwarファイルの作成が必須ですか?

    今weblogic8.1でwebアプリケーションを開発していますか、warで作成しアプリケーションモジュールを追加したときはjspの表示が旨く出来ますか、warで作成しなくてアプリケーションモジュールなしでソースをドメインのapplications直下に入れてる場合はhttp404エラーが表示されます。ちなみに、ソースのみでの構成は: applications/ index.jsp WEB-INF/ |- web.xml -- weblogic.xml アクセスじのパスは: http://localhost:7001/myWeb/index.jsp -- エラー http://localhost:7001/index.jsp -- エラー となってます。 8.1でwarを作成しなくでjspを表示させるにはどうすれば良いのでしょか?

    • ベストアンサー
    • Java
  • WebLogicによるデバッグについて。

    WebLogicによるデバッグについて。 以下の環境があります。 【開発PC】 Windows XP Eclipse(Javaサーブレットの作成に用いる) 【Webサーバ】 Windows Server 2003 WebLogic 10.3 開発PCとWebサーバはLANでつながっています。 開発PC上でEclispeを用いて、Webサーバ上のWeblogicを用いてJavaサーブレットのデバッグは可能でしょうか? Eclipseで、Webサーバのデプロイは可能なのですが、デバッグが起動できません。 開発PCにWebLogicをインストールしたローカルサーバの場合、Eclipseでデバッグが出来ます。 可能であれば、参考資料等ございましたら、ご教示願えませんでしょうか。

    • ベストアンサー
    • Java
  • linuxでのコンパイル

    linux環境でjavaソースをコンパイルしようとしているのですが、コンパイルができません。 ソースをパッケージ内に置いて、パッケージの上のディレクトリでコンパイルしようとしています。 例えば以下のような感じです。 ディレクトリ「frame」に「FrameSample.java」と「Start.java」を置き、「frame」の上のディレクトリで以下のコマンドを打ちます。 $javac frame\*.java windows環境では、これでコンパイルできるのですが、linuxだとできません。「javac: ファイルが見つかりません: frame*.java」と表示されてしまいます。 どうしたらよいでしょうか?

    • ベストアンサー
    • Java
  • ANT によるJSPコンパイル方法

    build.xmlを使用してJSPのコンパイルをしたいのですが、 記載方法が分からずに困っています。 EJBの記述方法はネットで参照できるのですが、JSPをコンパイルする 記載方法を見つけることは出来ませんでした。 JSPもwlappcでコンパイルできるという考え方自体が間違っているのでしょうか? 下記にような記述で実行してみましたが、ダメでした。 もし、アドバイスが御座いましたら頂けると嬉しいです。 <target name="appc"> <wlappc debug="True " source="${jspt1.dir}/jsp" output="${jspt2.dir}/jsp " /> </target>

    • ベストアンサー
    • Java
  • コンパイルできません

    javaの入門書を買って、はじめてプログラミング と言うものをやってみようかとはじめてみた大初心者なんです。JDKをダウンロードして、ソースをつくって、 MSDOSプロンプトでソースをコンパイルしょうとしたのですが、「c:\windows>cd c:ディレクトリ名」ののち、 「ディレクトリ名>javac ソース名.java」にしとところ 「コマンドまたはファイル名がただしくありません。」 と表示されてしまいます。何回もソース名を確認したので 合っていると思うのですのでコマンドが違うのでしょうか? JDKはjava2sdk1.4.0をつかっています。はじめの一歩をふみはずした感じなので、どうぞ教えて下さい。

    • ベストアンサー
    • Java
  • JAVAコンパイルと実行

    はじめまして。質問があります。 eclipseで開発したjavaのソースを実行するとき、メニューからメインクラスを指定し実行するだけでプログラム実行されますが、そのプログラムをコマンドプロンプトで実行する場合、できるプログラムとできないプログラム(例外:NoClassDefFoundError)があります。 コンパイルはeclipceのほうで勝手に.classファイルが生成されるので、そのclassファイルをjava [ファイル名]と打つだけだと思います。 実行できるプログラムとできないプログラムの違いは以下の通りです。 ・実行できるプログラム eclipseで新規でプロジェクトを作成。その直下にソースが存在し、クラスファイルも同じディレクトリに生成されます。 ・実行できないプログラム eclipseで新規でプロジェクトを作成。ソースフォルダ(src)を作成し、その下からパッケージ、クラスを作成しました。そうすると、エクスプローラでそのプロジェクトを見ると、binフォルダが生成されていました。その中にクラスファイルが生成されます。 違いはこのような感じです。実行できないプログラムをコマンドプロンプトで実行させるためにはどうしたらよいでしょうか?eclipseの使い方はだいぶわかってきたのですが、どのように動作しているか(java自体も)がわかりません。ご教授宜しくお願い致します。 OS:windows2000 開発環境:eclipse 3.0(J2SE 1.4.2_03)

    • ベストアンサー
    • Java
  • javaの簡単なソースがコンパイル出来ません

    Javaを始めてみましたが、最も簡単なjavaのソースがどうしてもコンパイル出来ません。 どうしたらいいのか教えて下さい。 デスクトップの以下の Hello.java に対して、 public class Hello { public static void main(String[] args) { System.out.println("Hello,World"); } } 以下の3通りの方法でコンパイルを掛けてみると、 ‥デスクトップ>javac Hello.java javac:ファイルが見つかりません:Hello.java 使い方:javac <ptions> <source files> 使用可能なオプションのリストについては-helpを使用します >javac Hello.java.txt エラー:クラス名 ‘Hello.java.txt’が受け入れられるのは、注釈処理が明示的に要求された場合だけです エラー1個 >javac Hello エラー:クラス名 ‘Hello’が受け入れられるのは、注釈処理が明示的に要求された場合だけです エラー1個 でどの場合もコンパイルされません。 なお、javaのバージョンは “1.6.0_06”で、パスも C:\Program Files\Java\jdk1.6.0_06\bin\; と設定してあります。 どうしたらコンパイルが出来るのか、教えて下さい。

    • ベストアンサー
    • Java
  • eclipseによるjavaのimportは?

    eclipse3.4でwarファイルのimportをするとできあがったディレクトリはsrcのパッケージ以下がimportされないのですが、なぜでしょうか?その他のjspなどはimportされています。src直下のパッケージ名以下のソースが空っぽなんです。。 exportの方法に問題があるのですか?ソースは普通のサーブレットとjavaクラスのものです。

    • ベストアンサー
    • Java

専門家に質問してみよう