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私服