日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Maven编译Tomcat源码

發布時間:2023/12/1 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Maven编译Tomcat源码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用Maven編譯Tomcat源碼

準備工作

  • 編譯工具:Intellij Idea 15.0.2
  • Tomcat版本:7.0.69 下載鏈接
  • JDK版本:1.7.0_80
  • Maven版本:3.05

編譯步驟

1. 在工作空間中建立目錄 TomcatSource,下載源碼解壓到此文件夾,完成后目錄結構如下

TomcatSource|--bin|--conf|--java|--modules|--res|--test|--webapps|--...

2. 在TomcatSource目錄下添加pom.xml,內容如下

<?xml version="1.0" encoding="utf-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.apache.tomcat</groupId> <artifactId>Tomcat7.0</artifactId> <name>Tomcat7.0</name> <version>7.0</version> <build> <finalName>Tomcat7.0</finalName> <sourceDirectory>java</sourceDirectory> <testSourceDirectory>test</testSourceDirectory> <resources> <resource> <directory>java</directory> </resource> </resources> <testResources> <testResource> <directory>test</directory> </testResource> </testResources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3</version> <configuration> <encoding>UTF-8</encoding> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>ant</groupId> <artifactId>ant</artifactId> <version>1.7.0</version> </dependency> <dependency> <groupId>wsdl4j</groupId> <artifactId>wsdl4j</artifactId> <version>1.6.2</version> </dependency> <dependency> <groupId>javax.xml</groupId> <artifactId>jaxrpc</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>org.eclipse.jdt.core.compiler</groupId> <artifactId>ecj</artifactId> <version>4.2.2</version> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <version>3.3</version> </dependency> </dependencies> </project>

3. 將項目使用Intellij Idea 打開(對應eclipse導入項目),使用maven工具編譯。
4. 打開Bootstrap.java類配置啟動參數,VM options 下填寫

-Dcatalina.home=TomcatSource -Dcatalina.base=TomcatSource -Djava.endorsed.dirs=TomcatSource/endorsed -Djava.io.tmpdir=TomcatSource/temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=TomcatSource/conf/logging.properties

5. DEBUG模式啟動 Bootstrap.java 類的main方法,結束。

注意事項

  • 本方法使用的是maven方式編譯,如果使用Ant方式編譯參見 Tomcat官網-->Documentation-->Development-->Building
  • 編譯特定版本的Tomcat源碼需要的JDK版本不同,具體同時可以在Building頁面參見。
  • 工作目錄中 TomcatSource 可以隨意命名,不過在添加VM options參數的時候需要修改指定名稱保持一致
  • 添加的pom.xml文件中更改了maven項目默認的source和test的目錄(src/main/java和src/main/test)修改為 java和test。
  • pom.xml文件中添加的依賴是tomcat編譯過程中需要依賴的包,也許你在使用maven編譯的時候會發現依舊有錯誤,如果是test目錄相關文件可以刪除,也可以去常見的maven中央倉庫去尋找下載相關依賴。
  • maven工具編譯是指在TomcatSource目錄下打開命令行工具(cmd窗口)使用命令 mvn clean install 去編譯。
  • VM options參數意義:startup.bat調用catalina.bat,catalina.bat會傳遞一堆參數 并且傳遞給Bootstrap.java類的main方法,這里傳遞的參數就是VM options。
  • VM options參數獲取的方法:
  • 在bin/catalina.bat 或者 catalina.sh 文件中找到下面一行

    if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity

    然后在這行下添加以下命令

    echo Tomcat VM options start echo %_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% echo Tomcat VM options end pause

    保存退出,運行startup.bat,在cmd窗口在start和end 中間的輸出就是VM options

    轉載于:https://www.cnblogs.com/coldridgeValley/p/5463001.html

    總結

    以上是生活随笔為你收集整理的使用Maven编译Tomcat源码的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。