tomcatソースコンパイル、デバッグ

6908 ワード

参考資料:
http://tomcat.apache.org/tomcat-6.0-doc/building.html
http://blog.csdn.net/huxin1/archive/2008/04/13/2289140.aspx
今回のインストールはmyeclipse 8.0,JDK 1.5に基づいています.tomcatソースコードはsubversionで管理されており、まずsubversionプラグインをインストールします.
 
1.subversionrプラグインのインストール
help->software updates-->add/remove sofeware->add->add->
a.searchにsubversionを入力すると、対応するsubversion項目が検索され、1.6バージョンのインストールを選択します.
b.addをクリックし、nameに希望する名前(subversion)を入力し、urlに入力します.http://subclipse.tigris.org/update_1.6.x
次のステップでサブバージョンのプラグインをインストールできます
2.tomcat項目のチェックアウト
file->import-->svn->SVNからプロジェクトを削除-->新しいリポジトリの場所の作成-->urlにhttp://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/, OK と入力
3.tomcatソースコードのコンパイル
tomcatソースコードはantでコンパイルされています.ここではantのインストールを紹介しません.資料を調べてみましょう.
ここではmyeclipseを使用してbuild.xmlを直接antで実行するか、tomcatプロジェクトディレクトリの下でantコマンドを手動で実行できます.
本人は後者を採用している.
まず、コンパイル時にいくつかのパッケージに依存し、antは実行中にダウンロードします.
build.properties.defaultファイルに関連する情報があります.まずbuild.properties.defaultをbuild.propertiesと名前を変更します.
base.path=/usr/share/javaを見つけます.このパスはダウンロードするファイルを保存するためのディレクトリです.windowsオペレーティングシステムを使用しているので、base.path=E:/myeclipse 8 GA/workspace/tomcat 6/shareを使用するように変更します.
 
次にantコマンドを実行します:ant download
build.propertiesファイルのダウンロードアドレスの一部が無効になっているため、このコマンドを実行するとエラーが発生する可能性があります.
インストール時にこの問題が発生しました.主にjdt.loc=に現れます.http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-JDT-3.3.1.zip
このパスは私が后で交换したので、最初のアドレスはすでに失効して、しかし私はそれがダウンロードするのが本当に遅すぎることを発见して、そこでネット上でアドレスを探して、パスはhttp://archive.eclipse.org/eclipse/downloads/drops/R-3.2-200606291905/download.php?dropFile=eclipse-JDT-3.2.zipですが、このパスをbase.pathに入れても機能しないので、直接ダウンロードした後、E:/myeclipse 8 GA/workspace/tomcat 6/shareの下に解凍します(antは関連ファイルをダウンロードすると解凍します).現在のフォルダに直接解凍し、デフォルトはeclipseフォルダです.
ant download表示の再実行に成功しました.
 
最後に、antコマンドを直接実行するとコンパイルに成功します.途中でAPIが古くなったとか報告されるかもしれませんが、影響は大きくありません.他のファイルを見ると、JDK 1.6で問題があるようで、具体的にはテストがなく、発言権がありません.
 
myeclipseでコンパイルする場合は、build.xml-->run as-->2番目のant build->targetでdownloadを選択してrunをクリックするとダウンロードが開始され、jdtが19 Mあるので、build.xml-->run asを右クリックして最初のant buildを選択すればよい.コンパイルが完了する.
以下はダウンロード完了後のディレクトリ構造です:tomcat源码编译,调试_第1张图片 コンパイルが完了すると、tomcatプロジェクトディレクトリの下にoutputディレクトリが1つ増えていることがわかります.下にはbuildとclassesの2つのサブディレクトリがあります.classesはクラスのバイトコードファイルで、buildの下には通常のtomcatインストール後のディレクトリと同じです.tomcat源码编译,调试_第2张图片 4.余分なclasspath参照を除去
前のステップを完了してmyeclipseのtomcatプロジェクトをリフレッシュすると、エラーがあることを示す赤いフォークが見つかります.プロジェクトを右クリックし、ポップアップメニューから選択してください. build path-->configue build path、2つを削除します. TOMCAT_LIBS 最初の2つのライブラリファイルは、1つだけ保持されます. JRE ライブラリファイルをクリックします OK ”ツールバーの
5.依存パッケージの追加
tomcatソースファイルはjarパッケージに依存する必要があります.そうしないと、コンパイルエラーが報告されます.
ant.jar(antインストールディレクトリのlibサブディレクトリにコピーしてください)  commons-collections-3.1 jar(先ほどAntからダウンロードしたcommons-collections-3.1サブディレクトリからコピー)  commons-dbcp-1.2.1.jar(先ほどAntからダウンロードしたcommons-dbcp-1.2.1サブディレクトリからコピー)  commons-logging-1.1.jar(このjarパッケージがない場合は、http://commons.apache.org/downloads/download_logging.cgiダウンロード)  commons-pool-1.2.jar(先ほどAntからダウンロードしたcommons-pool-1.2サブディレクトリからコピー)  org.eclipse.jdt.core_3.2.0.v_671.jar(さっきAntからダウンロードしたeclipsepluginsサブディレクトリからコピー)  6.tomcatの起動
にある Eclipse 実行中 Tomcat .見つけて Tomcat の起動マスタークラス org.apache.catalina.startup.Bootstrap ,このクラスを右クリックし、ポップアップメニューから「 Run As…”--> ”Open Run Dialog…” ,そしてポップアップした「 Run ”ウィンドウにプログラム実行パラメータを入力 start” およびJVM 運転パラメータ catalina.home ,次のウィンドウに示すように
tomcat源码编译,调试_第3张图片  runをクリックするとtomcatが起動します.
 
7.セグメントデバッグ
org.apache.catalina.startup.Bootstrap-->debug as-->javaアプリケーションを右クリックし、tomcatをdebug形式で起動させます.
org.apache.jasper.compilerを見つけます. クラス、 generateJava() メソッドの最初の行にブレークポイントを入力し、アクセスします.http://localhost:8080/examples/jsp/ああ、ページの中のexecuteをクリックすると、ページの内容が変わらない場合、jspページは再コンパイルされないので、初めてexecuteをクリックしたとき、myeclipseはdebugモードに入り、さらに注文したときは反応しませんでした.
====================================================================================================
インポート
Tomcatのソースコードは、実は簡単ですが、正しい方法が見つからないと、多くの時間を浪費します.私はコンパイル環境を構成するのに多くの時間を浪費します.最も正しい方法は
Tomcatの公式サイトで答えを見つけます.
下の接続を参照してください.これは
Tomcat 7です.
http://tomcat.apache.org/tomcat-7.0-doc/building.html
1.環境の設定
1.1 JDK1.6 or above JAVA_HOME
1.2 Ant 1.8.1 or later ANT_HOME
1.3 Check out the latest 
tomcat source code
2.Eclipseコンパイルエンジニアリング
cd ${tomcat.source}
ant ide-eclipse
[注] a.
 ${tomcat.source} あなたがダウンロードしたソースコードのマシンへのパスです.
b.ant ide-eclipse:このプロセスは遅いです.依存するサードパーティのjarをダウンロードするので、これらのjarはあなたに置かれます.
build.propertiesで設定した
 ${base.path} 指定されたパス
3.Eclipse環境の設定(Class-path Variables)
設定
TOMCAT_LIBS_BASE,ANT_HOME
TOMCAT_LIBS_BASEが指す
 ${base.path}
ANT_HOMEがantをインストールするディレクトリを指すと良いですね
4.導入工事
File -> Import and choose Existing Projects into Workspace
5.問題のコンパイル
EclipseのJRE環境の設定が正しくなく、調整が必要なため、コンパイルエラーが発生することがあります.
5.1 Java Compiler、6.0(1.6)以上必要
Window -> Preferences -> Java ->?Complier -> JDK Compliance -> 6.0 (1.6)
5.2 Default JRE、1.6以上必要
Window -> Preferences -> Java -> Installed JREs -> jdk1.6
もちろん、これは工事で設定することもできますが、他の工事が以前のjdkバージョンを使わなければならない場合は.
5.3 Eclipseバージョンの問題
Java CompilerとJREを調整したら、普通はコンパイルできますが、Eclipseバージョンの問題に遭遇しました.いつも1つありますか?
C o m p i l er ArrayIndexOutofBoundaryExceptionのエラー、後にEclipseを更新して、よかった、私が使った
Eclipseバージョンは3.2です.またEclipse Galileoを使って工事を開けてみましたが、似たような問題はありませんでした.
6.最も行き届いたサービス
ここまで来たら、あなたのプロジェクトはコンパイルに成功したはずです.run、debugを考えてみましょう. 
TOMCAT、どのように設置しますか?ハッ、最も行き届いたサービス
さあ、run(debug)...->Javaアプリケーションでは、すでに2つのアプリケーションがあります.それぞれ
start-
tomcat, stop-
tomcat.