Commit 5f8b5d9c authored by JingChao's avatar JingChao

Track 2 files into repository.

- untracked git-guide.md
- untracked maven.md

Auto commit by GitBook Editor
parent 808f740e
This diff is collapsed.
# Maven 使用手册
## 开发环境
1. ```JDK 1.8```
2. ```Maven 3.2.5```
## 下载及安装
1. 下载 [jdk1.8](http://www.oracle.com/technetwork/java/javase/downloads/index.html) 并安装
2. 下载 [Maven 3.2.5](http://maven.apache.org/download.html) 并解压
## 配置环境变量
### 配置jdk环境变量
1. 将字符串“`;C:\Program Files\Java\jdk1.8\bin`”添加到系统变量“Path”的末尾
2. 用户变量新建一个classpath变量并赋值"`.`"
3. 在cmd控制台中通过`java -version`来测试java环境变量是否配置正确
### 配置maven环境变量
1. 添加 M2_HOME、M2、MAVEN_OPTS 到环境变量中,使用系统属性设置环境变量。
* `M2_HOME=C:\Program Files\Apache Software Foundation\apache-maven-3.2.5`
* `M2=%M2_HOME%\bin`
* `MAVEN_OPTS=-Xms256m -Xmx512m`
2. 添加 M2 变量到系统“Path”变量中,添加字符串 “`;%M2%`” 到系统“Path”变量末尾
3. 在cmd控制台中通过`mvn --version`来测试mvn环境变量是否配置正确
## 常用命令
> | 命令 | 解释 |
> | -------- | -------- |
> | `mvn archetype:create` | 创建 Maven 项目 |
> | `mvn clean` | 清除目标目录中的生成结果 |
> | `mvn compile` | 编译源代码 |
> | `mvn test-compile` | 编译测试代码 |
> | `mvn test` | 运行应用程序中的单元测试 |
> | `mvn package` | 依据项目生成 jar,war 文件 |
> | `mvn install` | 在本地 Repository 中安装 jar,war |
> | `mvn eclipse:eclipse` | 生成 Eclipse 项目文件 |
> | `mvn site` | 生成项目相关信息的网站 |
## 创建maven项目
### 创建Maven的普通java项目
``` mvn archetype:generate -DgroupId=com.hand.app -DartifactId=项目名 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ```
### 创建Maven的Web项目
1. 进入命令行输入以下内容创建webapp项目:
* ``` mvn archetype:generate -DgroupId=com.hand.app -DartifactId=项目名 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false ```
* (补充:在该命令行后面加上`-X`可查看创建web项目的进度)
2. 进入工程目录(cd 项目名),使用以下命令将项目生产为eclipse项目`mvn eclipse:eclipse`
> | 命令 | 解释 |
> | -------- | -------- |
> | `mvn archetype:generate` | 固定格式 |
> | `-DgroupId` | 组织标识(包名) |
> | `-DartifactId` | 项目名称 |
> | `-DarchetypeArtifactId` | 指定ArchetypeId,maven-archetype-quickstart,创建一个Java Project;maven-archetype-webapp,创建一个Web Project |
> | `-DinteractiveMode` | 是否使用交互模式 |
## mvn编译执行项目
### 普通项目
* main目录的class:在项目根目录下运行命令`mvn clean compile`进行项目编译
* test目录下class:在项目根目录下运行`mvn clean test`进行测试
* 编译完成后在项目根目录下生成了`target`文件夹,里面存放了`class`文件
* 使用`mvn exec:java -Dexec.mainClass="com.hand.app.App"`运行App这个mainClass
### web项目
* `mvn tomcat:run` 启动tomcat,根据给定的端口号,在浏览器上输入`localhost:端口号/项目名/index.jsp`运行项目
## POM.xml文件
`<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>` //当前POM模型的版本<br/>
`<groupId>SpringMVC</groupId>` //项目或者组织的唯一标志<br/>
`<artifactId>JspExam10105</artifactId>` //项目的通用名称<br/>
`<packaging>war</packaging>` //打包机制<br/>
`<version>0.0.1-SNAPSHOT</version>` //项目版本<br/>
`<name>JspExam10105 Maven Webapp</name>` //用户描述项目的名称<br/>
`<url>http://maven.apache.org</url>` //只是写明开发团队的网站,无关紧要<br/>
`<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>` //指定当前依赖范围<br/>
`</dependency>
</dependencies>` //依赖关系<br/>
`<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>` //项目字符为UTF-8<br/>
`</properties>` //为pom定义一些常量,在pom中的其它地方可以直接引用<br/>
`<build>
<finalName>SpringMVC</finalName>` //指定去掉后缀的工程名字<br/>
`<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat8-maven-plugin</artifactId>
<version>2.3-SNAPSHOT</version>
</plugin>` //配置maven插件<br/>
`</plugins>
</pluginManagement>` //用于管理plugin<br/>
`<resources>
<resource>
<directory>src/main/java</directory>` //用于管理plugin<br/>
`<includes>
<include>**/*.properties</include>` //指定包含文件的patterns,符合样式并且在directory目录下的文件将会包含进project的资源文件<br/>
`<include>**/*.xml</include>
</includes>
<filtering>false</filtering>` //指定是否将filter文件(即上面说的filters里定义的```*.property```文件)的变量值在这个resource文件有效<br/>
`</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>` //描述工程中资源的位置<br/>
`</build>
</project>`
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment