網(wǎng)站建設(shè)哪家公司好 電商 b2c外貿(mào)網(wǎng)站推廣公司
文章目錄
- 一、克隆源碼
- 二、構(gòu)建 Maven
- 1)在項(xiàng)目根目錄中新建 pom.xml 文件
- 2)然后 Add Maven Projects
- 三、在目錄中增加 home 目錄
- 四、增加啟動(dòng)配置
- 五、其它問(wèn)題
- 1)控制臺(tái)亂碼
- 解決
- 2)啟動(dòng)后訪問(wèn) localhost:8080 報(bào)錯(cuò)
- 解決
一、克隆源碼
- github搜索Tomcat源碼
- fock到自己倉(cāng)庫(kù),方便后續(xù)提交修改
- 如果嫌 github 慢,可以上 gitee 將 github 的倉(cāng)庫(kù)同步過(guò)來(lái)
- git clone
- checkout 9.0.x 的分支,最好自己新建一個(gè)分支,避免污染原分支
二、構(gòu)建 Maven
1)在項(xiàng)目根目錄中新建 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>tomcat9.0.x</artifactId><name>tomcat-9.0.x</name><version>9.0.x</version><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><dependency><groupId>org.easymock</groupId><artifactId>easymock</artifactId><version>4.3</version></dependency><dependency><groupId>org.apache.ant</groupId><artifactId>ant</artifactId><version>1.9.5</version></dependency><dependency><groupId>javax.xml.rpc</groupId><artifactId>javax.xml.rpc-api</artifactId><version>1.1</version></dependency><dependency><groupId>wsdl4j</groupId><artifactId>wsdl4j</artifactId><version>1.6.2</version></dependency><!-- https://mvnrepository.com/artifact/org.eclipse.jdt/ecj --><dependency><groupId>org.eclipse.jdt</groupId><artifactId>ecj</artifactId><version>3.26.0</version></dependency><!-- https://mvnrepository.com/artifact/biz.aQute.bnd/biz.aQute.bndlib --><dependency><groupId>biz.aQute.bnd</groupId><artifactId>biz.aQute.bndlib</artifactId><version>6.4.0</version></dependency></dependencies><build><finalName>Tomcat8.5.55</finalName><sourceDirectory>java</sourceDirectory><resources><resource><directory>java</directory></resource></resources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><encoding>UTF-8</encoding><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>
2)然后 Add Maven Projects
三、在目錄中增加 home 目錄
將外面的 conf 和 webapps 復(fù)制到 home 目錄中,webapps 目錄中只需保留 ROOT 目錄即可
這樣做的好處:
- 統(tǒng)一管理
- 避免污染原文件
四、增加啟動(dòng)配置
-
JRE:
JDK 8
-
Main Class:
org.apache.catalina.startup.Bootstrap
-
Add VM options:
-Dcatalina.base=/Users/mac/IdeaProjects/tomcat-9.0.x/home -Dcatalina.home=/Users/mac/IdeaProjects/tomcat-9.0.x/home -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/Users/mac/IdeaProjects/tomcat-9.0.x/conf/logging.properties -Dfile.encoding=utf-8
注意: 上面的
/Users/mac/IdeaProjects/tomcat-9.0.x/
的目錄是我本地項(xiàng)目的目錄,需要根據(jù)自己的實(shí)際目錄來(lái)修改
五、其它問(wèn)題
1)控制臺(tái)亂碼
解決
在方法 org.apache.tomcat.util.res.StringManager#getString(java.lang.String)
中增加如下代碼:
// 日志打印時(shí)會(huì)讀取系統(tǒng)默認(rèn)的語(yǔ)言,將原本的 iso-8859-1 轉(zhuǎn)換成 utf-8
if (str != null) {try {str = new String(str.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);} catch (Exception e) {}
}
2)啟動(dòng)后訪問(wèn) localhost:8080 報(bào)錯(cuò)
解決
在方法 org.apache.catalina.startup.ContextConfig#configureStart
中添加
context.addServletContainerInitializer(new JasperInitializer(), null);