JAVA基础之——使用idea创建maven项目 以及使用tomcat本地调试springmvc
前言:关于这个话题网上有很多,本文旨在引导实战纠偏,理论偏少,如果按照步骤还不能达到本文目的,请留言。
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