前言:關於這個話題網上有很多,本文旨在引導實戰糾偏,理論偏少,如果按照步驟還不能達到本文目的,請留言。
1 環境准備
1.1 軟件准備
idea:官方下載社區版,下載后安裝
maven:Apache-maven-3.3.9,為一個壓縮包,解壓到指定路徑
jdk:jdk1.8.0_131,下載后安裝,一般是默認安裝路徑
1.2 環境配置
1.2.1 maven倉庫設置
apache-maven-3.3.9\conf\settings.xml
設置本地倉庫和鏡像url
1.2.2 環境變量設置
高級系統設置->環境變量
JAVA_HOME:jdk安裝路徑
MAVEN_HOME:maven部署路徑
Path:%JAVA_HOME%\bin;%MAVEN_HOME%\bin;
2 創建maven項目
idea->File->New->Project->Maven->設置JDK->勾選Create from archetype->
選擇maven-archetype-webapp->設置標識->設置maven->設置工程名以及工程路徑
3 創建目錄
通用目錄結構如下,如果目錄不存在,可自行創建。
|—src
|——main
|————java
|————resources
|————mybatis
|————spring/servies.xml
|——webapp
|————WEB-INF/web.xml
|—target
|—pom.xml
快捷鍵F4->Modules->Mark as設置代碼根目錄和資源根目錄
4 使用tomcat本地調試springmvc,有如下幾種方式
4.1 maven配置
(1)配置pom.xml文件
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <path>/</path> <uriEncoding>UTF-8</uriEncoding> <server>tomcat7</server> </configuration> </plugin>
(2)配置debug
idea-Run-Configurations-+-maven-項目路徑 tomcat7:run
點擊Run,即可啟動tomcat,
控制端顯示一行:Running war on里,隨后即是頁面訪問路徑。
4.2 部署tomcat服務器
(1)下載tomcat,與jdk版本一致,並安裝
(2)配置環境變量 CATALINA_HOME,變量值:D:\Program Files\java\tomcat7;打開PATH,添加變量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin
(3)注冊服務,命令行轉入到Tomcat安裝bin目錄,輸入命令:service.bat install,命令行中顯示“The service 'Tomcat7' has been installed.”即表示注冊服務成功。
(4)啟動服務,命令行轉入到Tomcat安裝bin目錄,輸入命令:net Start tomcat7
(5)部署項目,即修改D:\Program Files\java\tomcat7\conf\server.xml文件
(6)啟動tomcat,D:\Program Files\java\tomcat7\bin\tomcat7.exe
PS:如果閃退,請查看tomcat日志,D:\Program Files\java\tomcat7\logs\catalina.xxxx-xx-xx.log,根據具體錯誤原因分析,我遇到的錯誤描述是“StandardServer.await: create[localhost:8005]”
解決方式:cmd
->命令:netstat -ano | findstr "8005",得到進程ID
->根據進程ID查詢進程名 命令:tasklist | findstr "21972"
->結束進程命令:taskkill /f /t /im tomcat7.exe
->啟動tomcat
4.3 導入第三方jar
在pom.xml中添加該jar包的引用
<dependency> <groupId>abc</groupId> <artifactId>abc</artifactId> <version>1.0.0</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/java/META-INF/lib/abc.jar</systemPath> </dependency>
${version}表示項目版本
${project.basedir}為maven內置屬性,表示項目文件地址。
PS:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<target>1.7</target>
<source>1.7</source>
<encoding>UTF-8</encoding>
<compilerArguments>
<verbose />
<bootclasspath>${java.home}\lib\rt.jar;${java.home}\lib\jce.jar;</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8888</port>
<maxIdleTime>30000</maxIdleTime>
</connector>
</connectors>
<webApp>D:\\ReaPal\\application</webApp>
<contextPath>/reagw</contextPath>
</configuration>
</plugin>
補充資料:SpringCloud微服務框架搭建 https://www.cnblogs.com/springboot/p/8445780.html