在Eclipse中新建Maven项目

news/2024/7/5 20:12:17 标签: maven, 项目, eclipse
原文地址为: 在Eclipse中新建Maven项目

关于Maven的好的资料:

Apache官网:http://maven.apache.org/

Apache Maven 入门篇 ( 上 ):http://www.oracle.com/technetwork/cn/community/java/apache-maven-getting-started-1-406235-zhs.html

Apache Maven 入门篇 ( 下 ):http://www.oracle.com/technetwork/cn/community/java/apache-maven-getting-started-2-405568-zhs.html

Maven教程:http://www.yiibai.com/maven/maven_environment_setup.html

孔浩Maven视频教程:http://www.icoolxue.com/album/show/45


1.在Eclipse中右键,New->Maven Project,一路Next,然后输入项目信息:

Group Id:com.maven.demo

Artifact Id:mavenDemo

Version:选择”0.0.1-SNAPSHOT“就好

package:这一栏会自动填充为 Group Id.Artifact Id的形式。不用管。

点击Finish之后,项目新建完成。其中 “src/main/java”目录包含了项目的源代码,"src/test/java"目录包含了项目的测试代码,pom.xml是项目项目对象模型。


目录文件
/存放pom.xml和所有子目录
/src/main/java项目的源代码
/src/main/resource项目需要用到的资源
/src/test/java项目的测试源代码
/src/test/resource测试需要用到的资源
/target编译产生的文件

2.Maven采用了一种被称为project object model(POM)的概念来管理项目,所有的项目配置信息都被定义在一个叫做pom.xml的文件中。通过该文件,maven可以管理项目的整个生命周期,包括编译、构建、测试、发布、报告等等。我们打开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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.maven.demo</groupId>
<artifactId>mavenDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>mavenDemo</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

<project>:所有pom.xml文件中的顶层元素,申明了一些POM相关的命名空间以及xsd元素,用来约束maven的写法。

<modelVersion>:指POM使用的对象模型的版本。这个值很少改动,对于Maven2及Maven3来说,只能是4.0.0。

<groupId>:该值来源于我们创建项目时输入的”Group Id"。指明创建项目的组织或者小组的唯一标识。groupId是项目的关键标识,此标识以组织的完全限定名来定义。比如,org.apache.maven.plugins是所有Maven插件项目指定的groupId。

<artifactId>:该值来源于我们创建项目时输入的“Artifact Id"。指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个JAR文件。第二,源代码包通常使用artifactId作为最后名称的一部分。典型的产品名称使用这个格式: <artifactId>- <version>. <extension>(比如:myapp-1.0.jar)。

<version>:该值来源于我们创建项目时选择的”Version“。表示项目产品的版本号。Maven帮助你管理版本,可以经常看到SNAPSHOT这个版本,意思是快照,表明项目处于开发阶段,是不稳定的版本。

<packaging>:指项目产生的主要产品的格式。

在POM中,groupId,artifactId,packaging,version叫做maven的坐标,它能唯一的确定一个项目。有了maven的坐标,我们也可以用来指定我们的项目所依赖的其他项目,插件,或者父项目。一般maven坐标写成如下的格式:

groupId:artifactId:packaging:version

像我们的例子就会写成:

    	com.mycompany.helloworld: helloworld: jar: 1.0-SNAPSHOT

我们的Maven示例很简单,但是大项目一般会分成几个子项目。在这种情况下,每个子项目就会有自己的 POM 文件,然后它们会有一个共同的父项目。这样只要构建父项目就能够构建所有的子项目了。子项目的 POM 会继承父项目的 POM。另外,所有的 POM都继承了一个 Super-POM。Super-POM 设置了一些默认值,比如默认的目录结构,默认的插件等等,它遵循了惯例优于配置的原则。所以尽管我们的这个 POM 很简单,但是这只是看得见的一部分。运行时候的 POM 要复杂的多。 如果想看到运行时候的 POM 的全部内容的话,可以运行下面的命令:

$mvn help:effective-pom

<name>:项目的显示名称,通常用于maven产生的文档中。值默认为 artifactId。

<url>:指定项目站点,通常用于maven产生的文档中。

<properties>:项目的”Properties"。对应于在项目上右键->"Properties"。里面可以配置项目采用的编码方式等等。

<dependencies>:指项目的依赖。通常由很多的<dependency>组成,这里默认只有“junit-3.8.1"。

<dependency>:一个依赖单元。意思是本项目需要依赖一个”groupId和artifactId为junit,并且version为3.8.1“的另外一个项目,其实就是”junit-3.8.1.jar"包。实际使用中,如果我们需要某个jar包,就会添加一个<dependency>单元,然后更新项目之后maven就会自动帮助我们下载我们需要的jar包。

下面我们通过更改pom.xml的方式来下载项目需要的包。

更改pom.xml,添加 junit4.8和testng依赖,也就是:

	<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.1.1</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
</dependency>
3.更新项目。在项目上右键,选择 Maven->“Update Project"。更待更新完毕,可以看到项目结构多了一个”Maven Dependencies"库。打开库即可看到我们新添加的junit 和testng包。





转载请注明本文地址: 在Eclipse中新建Maven项目

http://www.niftyadmin.cn/n/1167029.html

相关文章

Linux根据进程名称Kill多个进程

原文地址为&#xff1a; Linux根据进程名称Kill多个进程经常需要Kill多个进程&#xff0c;这些进程包含共同的关键字&#xff0c;可以用一条命令Kill掉它们。 ps aux | grep "common" |grep -v grep| cut -c 9-15 | xargs kill -9 管道符“|”用来隔开两个命令&#…

关于android与php传递数据,引号显示quot的问题

原文地址为&#xff1a; 关于android与php传递数据&#xff0c;引号显示&quot的问题评论模块中&#xff0c;发送给服务器的单引号&#xff0c;双引号等&#xff0c;存到mysql时&#xff0c;会自动变成&#039,&quot;这类转义码。 解决方法如下&#xff1a; 1,在存储时…

Json概述以及python对json的相关操作

原文地址为&#xff1a; Json概述以及python对json的相关操作什么是json&#xff1a; JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition -…

《Linux Device Drivers》第三章 字符设备驱动程序——note

原文地址为&#xff1a; 《Linux Device Drivers》第三章 字符设备驱动程序——note主设备号和次设备号 那些名称被称为特殊文件、设备文件&#xff0c;或者简单称之为文件系统树的节点&#xff0c;它们通常位于/dev目录通常而言&#xff0c;主设备号标识设备对应的驱动程序一个…

CentOS 7.X系统安装

原文地址为&#xff1a; CentOS 7.X系统安装应用场景 有时候&#xff0c;比如做个试验&#xff0c;测试一些东西&#xff0c;需要使用linux系统进行操作。那么就需要搭建linux环境&#xff0c;linux系统。一般笔记本都是windows系统的&#xff0c;不会在笔记本上直接安装linux系…

CentOS 6.X系统安装

原文地址为&#xff1a; CentOS 6.X系统安装应用场景 有时候&#xff0c;比如做个试验&#xff0c;测试一些东西&#xff0c;需要使用linux系统进行操作。那么就需要搭建linux环境&#xff0c;linux系统。一般笔记本都是windows系统的&#xff0c;不会在笔记本上直接安装linux系…

wordpress上传音频文件,报http错误

原文地址为&#xff1a; wordpress上传音频文件&#xff0c;报http错误问题描述 嫌个人的博客单调&#xff0c;想在wordpress的首页加一首自己喜欢的歌曲&#xff0c;然后游客访问的时候可以听歌&#xff0c;但是wordpress不能上传大数据量的音频或视频文件&#xff0c;报http错…

8年后战争又起:Linus Torvalds was (sorta) wrong about C++

原文地址为&#xff1a; 8年后战争又起&#xff1a;Linus Torvalds was (sorta) wrong about C语言之争永远是热门的话题&#xff0c;无论你是脱离了语言限制的老手&#xff0c;还是初入IT的新人。2007年的时候&#xff0c;Linus曾在一封邮件中大骂C。原文链接 From: Linus Tor…