Maven能够建立Java工程,也能够建立Java Web工程,下面详细介绍一下。java
注意:如下演示使用的是JDK1.7版本,不要与上一篇博客搞混,本身安装的哪一个版本的JDK,就使用哪一个版本的JDK。web
右键new other,搜索Maven,在Maven目录下选择Maven Project,点击Next,以下图:apache
选择项目要使用的东西,只勾选User default Workspace location,另外两个不作勾选。如图有选项的解释。
骨架:至关因而项目模板。以下图:api
三、选择骨架app
这里咱们要建立的是Java项目,因此选择quickstart结尾的骨架,而后next。以下图:框架
Group Id:项目分组ID,其实就是包名。
Artifact Id:项目名称
Version:项目版本号。
Package:包名,根据上面的group id 和Artifact id 自动生成,不用填写。
这些信息填写完成,点击Finish。eclipse
SNAPSHOT:快照版本。不稳定版本,常常涉及修改的版本,可能一天都会修改多个版本。
RELEASE:发布版本。稳定版本,没有项目更新和bug的版本,若是后期生产环境下出现bug或有新的功能,须要发布新的 Release版本。
第一次建立工程会花费一段时间,由于骨架也须要下载依赖文件。webapp
因为Maven工具自己的缘由,新建立的项目默认都使用的是1.5版本的JDK,这就须要咱们本身手动修改一下JDK以及JRE的版本。maven
在工程上右键,选择Properties,出现如图界面,而后选择Java build Path,在Libraries中找到JRE选中,点击Edit,进行编辑了,选中本身安装的JRE,点击Finish,点击OK,便可修改完成。工具
在如图界面,找到Java Compiler,将JDK版本改到本身安装的版本,点击OK便可。
6.修改eclipse视图
将Eclipse的目录视图改为包视图,在window-showview中,修改为以下视图。
建立web项目和Java项目前面的步骤都同样,只是在选择项目骨架的时候,选择web项目骨架便可。当项目建立完成以后,步骤有所不一样。Web项目须要修改JRE版本,JDK版本,Maven中Project Facets中Java的版本。以下图:
由于Eclipse中的校验级别很高,经常会无故的报错,这里建议将全部的校验给关闭。如图操做。
main目录下是项目的主要代码。
src/main/java下存放Java代码。
src/main/resources下存放配置文件。
test目录下存放测试相关的代码。
target目录下存放编译输出后的代码。
webapp下存放Web应用相关代码。
pom.xml是Maven项目的配置文件。
由于这个配置文件是Maven的核心,所以有必要详细解读一下pom.xml,来先看一下上面的几个:
指定了当前Maven模型的版本号,对于Maven2和Maven3来讲,它只能是4.0.0
顾名思义,这个应该是公司名或是组织名。通常来讲groupId是由三个部分组成,每一个部分之间以"."分隔,第一部分是项目用途,好比用于商业的就是"com",用于非营利性组织的就是"org";第二部分是公司名,好比"tengxun"、"baidu"、"alibaba";第三部分是你的项目名。
能够认为是Maven构建的项目名,好比你的项目中有子项目,就可使用"项目名-子项目名"的命名方式
版本号,SNAPSHOT意为快照,说明该项目还在开发中,是不稳定的版本。在Maven中很重要的一点是groupId、artifactId、version三个元素生成了一个Maven项目的基本坐标,这很是重要。
在上面的这些元素以外,还有一些元素,一样罗列一下:
项目打包的类型,可使jar、war、rar、ear、pom,默认是jar
前者包含后者。前面说了,Maven的一个重要做用就是统一管理jar包,为了一个项目能够build或运行,项目中不可避免的,会依赖不少其余的jar包,在Maven中,这些依赖就被称为dependency。
properties是用来定义一些配置属性的,例如project.build.sourceEncoding(项目构建源码编码方式),能够设置为UTF-8,防止中文乱码,也可定义相关构建版本号,便于往后统一升级。
build表示与构建相关的配置,好比build下有finalName,表示的就是最终构建以后的名称。
下面是阿里DATAX的一个pom文件,拿过来给你们看成示例展现。
<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> <parent> <groupId>com.alibaba.datax</groupId> <artifactId>datax-all</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>datax-core</artifactId> <name>datax-core</name> <packaging>jar</packaging> <dependencies> <dependency> <groupId>com.alibaba.datax</groupId> <artifactId>datax-transformer</artifactId> <version>${datax-project-version}</version> <exclusions> <exclusion> <artifactId>slf4j-log4j12</artifactId> <groupId>org.slf4j</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>${commons-configuration-version}</version> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>${commons-cli-version}</version> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.4</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>fluent-hc</artifactId> <version>4.4</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> <dependency> <groupId>org.codehaus.janino</groupId> <artifactId>janino</artifactId> <version>2.5.16</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>1.8.5</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artifactId> <version>1.4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <version>1.4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.3.2</version> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.1.9</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.alibaba.datax.core.Engine</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.alibaba.datax.core.Engine</mainClass> </manifest> </archive> <finalName>datax</finalName> <descriptors> <descriptor>src/main/assembly/package.xml</descriptor> </descriptors> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <!-- compiler plugin --> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> <encoding>${project-sourceEncoding}</encoding> </configuration> </plugin> </plugins> </build> </project>
能够从框架官网查找,或前往maven的官方仓库查找:http://mvnrepository.com/
把坐标写到pom.xml文件中的 <dependcies>内部。以下图:
写完坐标以后保存时,会自动下载pom文件中配置好的框架及框架的依赖jar包。
下载下来的文件存放在本地仓库中:
上一篇:Maven介绍及安装
下一篇:Maven私服