码迷,mamicode.com
首页 > 其他好文 > 详细

maven maven的配置及使用

时间:2015-07-03 07:57:42      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

maven的配置及使用

一.什么是maven:

我们在开发项目的过程中,会使用一些开源框架、第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关的jar包都会作为项目的依赖。通常,一个Java EE项目所依赖的jar包会有很多。然而,这还并非是主要问题,在管理这些jar包过程中,jar包的版本往往是最令人头疼的问题。选择一个jar包的版本,需要考虑它所依赖的jar包是否支持这个版本,并且还需要确认依赖它的jar包能不能对这个版本兼容。所以,在过去的构建项目过程中,整理出这么一堆能让项目正常运行的jar包之后,这个lib目录就会变为禁区。jar包版本更新了,我们也很少会自找麻烦去触碰它。至于是不是存在冗余的jar包?能正常运行就好了嘛。。。。
Maven的出现,解决了开发过程中的这一难题。它可以对项目依赖的jar包进行管理,可以让你的项目保持基本的依赖,排除冗余jar包,并且可以让你非常轻松的对依赖的jar包进行版本升级。而这些仅仅是Maven最基本的功能,它可以在这基础上对项目进行清理、编译、测试、打包、发布等等构建项目的工作。

参考百度百科:

http://baike.baidu.com/link?url=Kdew1Be1-rDr08gp2ulNCae2aTB1L1HGP5GLJ4vGR6s4POL3YvAtI4Wz870Wc_l79tkxZc5kcwXG9kPQyq3-__

二.创建maven项目:

1.创建Maven Project:

技术分享

2.勾选Create a simple project:

技术分享

3.maven setting:

groupId: 相当于这个project的所有者或者机构的一个标识,一般是com.company.xxx这种格式

artifactId:  这个project最后所生成的文档(jar、war)的名字,比如对于junit这个开源的project,它的artifactId就是junit

packaging: 这个project的打包的类型,一般是war、jar等值

version: project的版本

name: project的名字,生成文档等内容的时候会用的这个名字

技术分享

4.创建后maven项目的目录结构:

技术分享

 

三.配置maven:

创建完项目后自动会创建pom.xml文件

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2 
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4 
 5     <modelVersion>4.0.0</modelVersion>
 6 
 7     <groupId>com.mycompany.app</groupId>
 8 
 9     <artifactId>my-app</artifactId>
10 
11     <version>1.1.0.1</version>
12 
13     <packaging>jar</packaging>
14 
15     <name>myapp</name>
16 
17     <url>http://maven.apache.org</url>
18 
19     <properties>
20 
21         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
22 
23     </properties>
24 
25     <dependencies>
26 
27         <dependency>
28 
29             <groupId>junit</groupId>
30 
31             <artifactId>junit</artifactId>
32 
33             <version>3.8.1</version>
34 
35             <scope>test</scope>
36 
37         </dependency>
38 
39     </dependencies>
40 
41 </project>

 

maven配置就是修改pom.xml文件,在<dependencies>放如下代码</dependencies>增加如下配置:

 <dependency>

        <groupId>org.springframework</groupId>

        <artifactId>spring-test</artifactId>

        <version>3.0.0.RELEASE</version>

        <type>jar</type>

        <scope>compile</scope>

</dependency>    

这只是一个,可以放多个。spring、spring mvc 、junit等等。会自动下载所需要的包及相关文件,在本机的这个位置:user下面的用户下面的.m2文件夹下的repository。不知道user在哪里,你也可以直接搜这个文件夹。下载有时会失败,那么只能用笨方法,从别人哪里拷贝,放到下载所在的文件夹中。

配置完后如下:

pom.xml

  1 <?xml version="1.0"?>
  2 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
  3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4   <modelVersion>4.0.0</modelVersion>
  5   <groupId>com.zlp</groupId>
  6   <artifactId>mavenTest</artifactId>
  7   <version>0.0.1-SNAPSHOT</version>
  8   <packaging>war</packaging>
  9   <name>mavenTest</name>
 10   <dependencies>
 11     <dependency>
 12       <groupId>org.springframework</groupId>
 13       <artifactId>spring-test</artifactId>
 14       <version>3.0.0.RELEASE</version>
 15       <scope>compile</scope>
 16     </dependency>
 17   </dependencies>
 18   <repositories>
 19     <repository>
 20       <snapshots>
 21         <enabled>false</enabled>
 22       </snapshots>
 23       <id>central</id>
 24       <name>Maven Repository Switchboard</name>
 25       <url>http://repo1.maven.org/maven2</url>
 26     </repository>
 27   </repositories>
 28   <pluginRepositories>
 29     <pluginRepository>
 30       <releases>
 31         <updatePolicy>never</updatePolicy>
 32       </releases>
 33       <snapshots>
 34         <enabled>false</enabled>
 35       </snapshots>
 36       <id>central</id>
 37       <name>Maven Plugin Repository</name>
 38       <url>http://repo1.maven.org/maven2</url>
 39     </pluginRepository>
 40   </pluginRepositories>
 41   <build>
 42     <sourceDirectory>C:\work\mavenTest\src\main\java</sourceDirectory>
 43     <scriptSourceDirectory>C:\work\mavenTest\src\main\scripts</scriptSourceDirectory>
 44     <testSourceDirectory>C:\work\mavenTest\src\test\java</testSourceDirectory>
 45     <outputDirectory>C:\work\mavenTest\target\classes</outputDirectory>
 46     <testOutputDirectory>C:\work\mavenTest\target\test-classes</testOutputDirectory>
 47     <resources>
 48       <resource>
 49         <directory>C:\work\mavenTest\src\main\resources</directory>
 50       </resource>
 51     </resources>
 52     <testResources>
 53       <testResource>
 54         <directory>C:\work\mavenTest\src\test\resources</directory>
 55       </testResource>
 56     </testResources>
 57     <directory>C:\work\mavenTest\target</directory>
 58     <finalName>mavenTest-0.0.1-SNAPSHOT</finalName>
 59     <pluginManagement>
 60       <plugins>
 61         <plugin>
 62           <artifactId>maven-antrun-plugin</artifactId>
 63           <version>1.3</version>
 64         </plugin>
 65         <plugin>
 66           <artifactId>maven-assembly-plugin</artifactId>
 67           <version>2.2-beta-5</version>
 68         </plugin>
 69         <plugin>
 70           <artifactId>maven-dependency-plugin</artifactId>
 71           <version>2.1</version>
 72         </plugin>
 73         <plugin>
 74           <artifactId>maven-release-plugin</artifactId>
 75           <version>2.0</version>
 76         </plugin>
 77       </plugins>
 78     </pluginManagement>
 79     <plugins>
 80       <plugin>
 81         <artifactId>maven-compiler-plugin</artifactId>
 82         <version>2.3.2</version>
 83         <executions>
 84           <execution>
 85             <id>default-testCompile</id>
 86             <phase>test-compile</phase>
 87             <goals>
 88               <goal>testCompile</goal>
 89             </goals>
 90             <configuration>
 91               <source>1.6</source>
 92               <target>1.6</target>
 93             </configuration>
 94           </execution>
 95           <execution>
 96             <id>default-compile</id>
 97             <phase>compile</phase>
 98             <goals>
 99               <goal>compile</goal>
100             </goals>
101             <configuration>
102               <source>1.6</source>
103               <target>1.6</target>
104             </configuration>
105           </execution>
106         </executions>
107         <configuration>
108           <source>1.6</source>
109           <target>1.6</target>
110         </configuration>
111       </plugin>
112       <plugin>
113         <artifactId>maven-clean-plugin</artifactId>
114         <version>2.4.1</version>
115         <executions>
116           <execution>
117             <id>default-clean</id>
118             <phase>clean</phase>
119             <goals>
120               <goal>clean</goal>
121             </goals>
122           </execution>
123         </executions>
124       </plugin>
125       <plugin>
126         <artifactId>maven-install-plugin</artifactId>
127         <version>2.3.1</version>
128         <executions>
129           <execution>
130             <id>default-install</id>
131             <phase>install</phase>
132             <goals>
133               <goal>install</goal>
134             </goals>
135           </execution>
136         </executions>
137       </plugin>
138       <plugin>
139         <artifactId>maven-resources-plugin</artifactId>
140         <version>2.4.3</version>
141         <executions>
142           <execution>
143             <id>default-resources</id>
144             <phase>process-resources</phase>
145             <goals>
146               <goal>resources</goal>
147             </goals>
148           </execution>
149           <execution>
150             <id>default-testResources</id>
151             <phase>process-test-resources</phase>
152             <goals>
153               <goal>testResources</goal>
154             </goals>
155           </execution>
156         </executions>
157       </plugin>
158       <plugin>
159         <artifactId>maven-surefire-plugin</artifactId>
160         <version>2.7.1</version>
161         <executions>
162           <execution>
163             <id>default-test</id>
164             <phase>test</phase>
165             <goals>
166               <goal>test</goal>
167             </goals>
168           </execution>
169         </executions>
170       </plugin>
171       <plugin>
172         <artifactId>maven-war-plugin</artifactId>
173         <version>2.1.1</version>
174         <executions>
175           <execution>
176             <id>default-war</id>
177             <phase>package</phase>
178             <goals>
179               <goal>war</goal>
180             </goals>
181           </execution>
182         </executions>
183       </plugin>
184       <plugin>
185         <artifactId>maven-deploy-plugin</artifactId>
186         <version>2.5</version>
187         <executions>
188           <execution>
189             <id>default-deploy</id>
190             <phase>deploy</phase>
191             <goals>
192               <goal>deploy</goal>
193             </goals>
194           </execution>
195         </executions>
196       </plugin>
197       <plugin>
198         <artifactId>maven-site-plugin</artifactId>
199         <version>2.0.1</version>
200         <executions>
201           <execution>
202             <id>default-site</id>
203             <phase>site</phase>
204             <goals>
205               <goal>site</goal>
206             </goals>
207             <configuration>
208               <outputDirectory>C:\work\mavenTest\target\site</outputDirectory>
209               <reportPlugins>
210                 <reportPlugin>
211                   <groupId>org.apache.maven.plugins</groupId>
212                   <artifactId>maven-project-info-reports-plugin</artifactId>
213                 </reportPlugin>
214               </reportPlugins>
215             </configuration>
216           </execution>
217           <execution>
218             <id>default-deploy</id>
219             <phase>site-deploy</phase>
220             <goals>
221               <goal>deploy</goal>
222             </goals>
223             <configuration>
224               <outputDirectory>C:\work\mavenTest\target\site</outputDirectory>
225               <reportPlugins>
226                 <reportPlugin>
227                   <groupId>org.apache.maven.plugins</groupId>
228                   <artifactId>maven-project-info-reports-plugin</artifactId>
229                 </reportPlugin>
230               </reportPlugins>
231             </configuration>
232           </execution>
233         </executions>
234         <configuration>
235           <outputDirectory>C:\work\mavenTest\target\site</outputDirectory>
236           <reportPlugins>
237             <reportPlugin>
238               <groupId>org.apache.maven.plugins</groupId>
239               <artifactId>maven-project-info-reports-plugin</artifactId>
240             </reportPlugin>
241           </reportPlugins>
242         </configuration>
243       </plugin>
244     </plugins>
245   </build>
246   <reporting>
247     <outputDirectory>C:\work\mavenTest\target\site</outputDirectory>
248   </reporting>
249 </project>

 

maven maven的配置及使用

标签:

原文地址:http://www.cnblogs.com/zlp520/p/4617567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!