Maven创建(非IDE下)第一节

来源:互联网 发布:卖股票手续费怎么算法 编辑:程序博客网 时间:2024/06/16 09:55

序言:

好奇maven现在这么流行,为此空闲下来学习一下maven,随着学习的深入最终也想弄明白相比ant,他的优点在哪里?。

maven的入门:

第一、maven的环境配置

下载:maven下载地址:http://maven.apache.org/download.cgi
ps:我下载的是3.05版本的
配置要求:
path路径配置和JAVA_HOME,配置好以后
ps:配置成功了

第二、maven的仓库及一些基本概念的解释

对于仓库我这里只是粗浅的解释一下,待日后有时间深入探究吧。

1.流程:

通过maven来构建项目时,他是通过依赖一些必要插件来进行构建的,例如我们编译测试类时,需要junit包,这个时候如果我们本地仓库没有该插件,
他就会自动去服务器(远程仓库)上下载该插件到本地。

2.本地仓库路径的默认设置的更改:

修改E:\apache-maven-3.0.5\conf\settings.xml添加本地仓库路径:
[html] view plaincopyprint?
  1. <SPAN style="WHITE-SPACE: pre">     </SPAN><localRepository>C:/Program Files/Java/maven/repository</localRepository>  

第三、用maven构建简单的helloworld例子(非IDE环境下)

maven基本命令使用:



项目构建过程:

1.项目目录结构

ps:普通java类必须规定根据包名存放在main/java下,测试类必须规定根据包名放在test/java下
创建代码和测试代码的存放规则:
1.源代码 src/main/java
2.源代码的资源文件 src/main/resources
3.测试代码 src/test/java
4.测试代码的资源文件 src/test/resources

2.pom.xml配置

[html] view plaincopyprint?
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"     
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  5.     <modelVersion>4.0.0</modelVersion>     
  6.     <groupId>com.techbirds.hello</groupId>  
  7.     <artifactId>hello-first</artifactId>  
  8.     <version>SNAPSHOT-0.0.1</version>  
  9.       
  10.     <dependencies>  
  11.         <dependency>  
  12.             <groupId>junit</groupId>  
  13.             <artifactId>junit</artifactId>  
  14.             <version>4.10</version>  
  15.             <scope>test</scope>  
  16.         </dependency>  
  17.     </dependencies>  
  18. </project>  

ps:我之前有个误解,一直以为其中的groupId必须跟package一直,其实这不影响编译。只是在放入放入仓库时会根据groupId中包名的配置进行存放。因此为了避免必要的错误,最好配置跟java类所在包路径一致。
modelVersion:固定
groupId:包路径
artfactId:项目名称(jar包显示的名称),最好以横杠标示
version:版本信息
dependencies:依赖包信息(仓库中去取)
个人觉得pom.xm上诉l配置是为了更好的依赖。

第四、maven依赖构建

 

假如另一个项目中需要引入我另外一个项目,那么maven使用依赖很容易解决。

[html] view plaincopyprint?
  1. <project xmlns="http://maven.apache.org/POM/4.0.0"     
  2.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  3.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  4.     <modelVersion>4.0.0</modelVersion>     
  5.     <groupId>com.techbirds.world</groupId>  
  6.     <artifactId>hello-second</artifactId>  
  7.     <version>SNAPSHOT-0.0.1</version>  
  8.       
  9.     <dependencies>  
  10.         <dependency>  
  11.             <groupId>junit</groupId>  
  12.             <artifactId>junit</artifactId>  
  13.             <version>4.10</version>  
  14.             <scope>test</scope>  
  15.         </dependency>  
  16.           
  17.         <dependency>  
  18.             <groupId>com.techbirds.hello</groupId>  
  19.             <artifactId>hello-first</artifactId>  
  20.             <version>SNAPSHOT-0.0.1</version>  
  21.             <scope>compile</scope>  
  22.         </dependency>  
  23.           
  24.     </dependencies>  
  25.       
  26.       
  27. </project>  
ps:前提是的hello-first已经通过mvn install命令将其放入本地仓库中,groupId必须跟仓库中的包路径一致。


补充:使用mvn archetype:generate命令 

优点:简化之前手动方式创建一些既定的规则


demo下载:http://download.csdn.net/detail/techbirds_bao/5584065

原创粉丝点击