【转-整理】Eclipse中Maven项目创建

1.简介

本文将介绍如何使用Eclipse的Maven插件来创建一简单的Maven项目,以及在Eclipse中运行Maven命令。

2.步骤

1)打开新建项目对话框,选择Maven Project(File->New->Object->Maven->Maven Project)

 

 

2)不好选择Simple Project,从而可以选择项目的archetype

 

 

3)选择名为quickstart的Archetype,点击Next

Archetype:项目骨架,项目的目录和文件结构

 

 

4)输入Group Id,Artifact Id信息,Version默认为0.0.1-SNAPSHOT,Package会根据Group Id和Artifact Id自动生成

Group Id:项目所属的项目组

Artifact Id:项目在项目组中的ID

Version:项目的版本号,后缀SNASHOT为快照的意思,表示版本不稳定

 

 

5)由于通过quickstart来创建项目时会默认生成一个App.java和一个AppTest.java文件,我们可以直接运行Maven命令

选中项目->Run As->Maven Test

 

运行结果:

Java代码  收藏代码
  1. [INFO] Scanning for projects...  
  2. [INFO]                                                                           
  3. [INFO] ------------------------------------------------------------------------  
  4. [INFO] Building firstmvn 0.0.1-SNAPSHOT  
  5. [INFO] ------------------------------------------------------------------------  
  6. [INFO]   
  7. [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ firstmvn ---  
  8. [debug] execute contextualize  
  9. [INFO] Using 'UTF-8' encoding to copy filtered resources.  
  10. [INFO] <span style="color: #ff0000;">skip non existing resourceDirectory F:workspacefirstmvnsrcmain esources</span>  
  11. [INFO]   
  12. [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ firstmvn ---  
  13. [INFO] <span style="color: #ff0000;">Nothing to compile - all classes are up to date</span>  
  14. [INFO]   
  15. [INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ firstmvn ---  
  16. [debug] execute contextualize  
  17. [INFO] Using 'UTF-8' encoding to copy filtered resources.  
  18. [INFO]<span style="color: #ff0000;"> skip non existing resourceDirectory F:workspacefirstmvnsrc est esources</span>  
  19. [INFO]   
  20. [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ firstmvn ---  
  21. [INFO]<span style="color: #ff0000;"> Nothing to compile - all classes are up to date</span>  
  22. [INFO]   
  23. [INFO] --- maven-surefire-plugin:2.10:test (default-test) @ firstmvn ---  
  24. [INFO] Surefire report directory: F:workspacefirstmvn argetsurefire-reports  
  25.   
  26. -------------------------------------------------------  
  27.  T E S T S  
  28. -------------------------------------------------------  
  29. Running com.siyuan.firstmvn.AppTest  
  30. Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec  
  31.   
  32. Results :  
  33.   
  34. Tests run: 1, Failures: 0, Errors: 0, Skipped: 0  
  35.   
  36. [INFO] ------------------------------------------------------------------------  
  37. [INFO] BUILD SUCCESS  
  38. [INFO] ------------------------------------------------------------------------  
  39. [INFO] Total time: 1.762s  
  40. [INFO] Finished at: Tue Sep 18 22:54:57 CST 2012  
  41. [INFO] Final Memory: 4M/72M  
  42. [INFO] ------------------------------------------------------------------------  

注:第一次运行Maven可能会有更多额外的Maven插件下载信息
 

3.项目结构介绍

 

 

    

firstmvn

|--src

    |--main

        |--java

        |--resources

    |--test

        |--java

        |--resources

|--target

|-pom.xml

SRC:源文件目录

TARGET:编译目录

pom.xml: Project Object Model项目对象模型,定义了项目的基本信息,用于描述项目如何构建,声明依赖等等。

Xml代码  收藏代码
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   
  5.   <groupId>com.siyuan</groupId>  
  6.   <artifactId>firstmvn</artifactId>  
  7.   <version>0.0.1-SNAPSHOT</version>  
  8.   <packaging>jar</packaging>  
  9.   
  10.   <name>firstmvn</name>  
  11.   <url>http://maven.apache.org</url>  
  12.   
  13.   <properties>  
  14.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  15.   </properties>  
  16.   
  17.   <dependencies>  
  18.     <dependency>  
  19.       <groupId>junit</groupId>  
  20.       <artifactId>junit</artifactId>  
  21.       <version>3.8.1</version>  
  22.       <scope>test</scope>  
  23.     </dependency>  
  24.   </dependencies>  
  25. </project>  

重要的元素:

groupId,artifactId,version,packaging

这四个元素组成了Maven的坐标,它相当为项目在Maven世界中的ID。

其中packaging默认为jar,可以为jar,pom,war等。

dependencies

项目依赖,由1到N个dependency组成,每个dependency包含了一个坐标和依赖范围scope

其中scope默认为compile,表示该依赖对主代码和测试代码都有效,

test则表示该依赖只对测试有效,即测试代码中可以使用Junit-3.8.1.jar中的内容,主代码不能使用,

其余scope将在之后介绍。

原文地址:https://www.cnblogs.com/Nouno/p/5666129.html