maven學習記錄

1,maven環境搭建:html

     之前是在斷網辦公環境開發,這邊用maven。apache

     下載maven,配置maven環境變量MAVEN_HOME,path設置到對應bin目錄;eclipse

     mvn -v命令查看maven

maven conf目錄setting添加國內源:ide

<mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>

設置本地倉庫:測試

<localRepository>D:/source\===DevTool===\maven\mavenRepository</localRepository>

  eclipse集成maven,新版本eclipse已默認集成。阿里雲

右鍵工程,config下convert to maven project。url

創建pom.xml,自動更新對應依賴包。spa

2,查找對應依賴包maven寫法。命令行

    到遠程倉庫【nexus】查找包,好比阿里雲http://maven.aliyun.com/nexus/#welcome,輸入,查找對應jar包以及maven依賴。

3,mvn建立項目:

Could not find goal 'create' in plugin org.apache.maven.plugins。

create is deprecated in maven 3.0.5 and beyond,在maven3.0.5以上版本捨棄了create,使用generate生成項目

maven3.0.5版本如下:

mvn archetype:create -DgroupId=com.demo -DartifactId=dm

maven3.0.5版本以上:

mvn archetype:generate -DarchetypeCatalog=internal

 

4,maven編譯:

mvn compile

5,maven打包

mvn package : 依據項目生成 jar 文件

mvn clean package -P spark-yarn -Dmaven.skipTests

6,maven profile

首先先理解一個詞:pom:(project object model),也就是pom.xml,maven對工程對象的描述。profile:在什麼狀況下,作什麼,構建什麼模塊。使用方式:1,命令行中用-p參數;2,配置 pom.xml 文件

<profiles>
    <profile>
      <id>spark-yarn</id>
      <properties>
        <aaa.scope>provided</aaa.scope>
      </properties>
    </profile>
  </profiles>

7,maven scope

scope默認爲compile,也就是說這個項目在編譯,測試,運行階段都須要這個artifact對應的jar包在classpath中。而對於scope=provided的狀況,則能夠認爲這個provided是目標容器已經provide這個artifact。換句話說,它隻影響到編譯,測試階段。在編譯測試階段,咱們須要這個artifact對應的jar包在classpath中,而在運行階段,假定目標的容器(好比咱們這裏的liferay容器)已經提供了這個jar包,因此無需咱們這個artifact對應的jar包了。

scope能夠使用的五個值:

    * compile,缺省值,適用於全部階段,會隨着項目一塊兒發佈。 
    * provided,相似compile,指望JDK、容器或使用者會提供這個依賴。如servlet.jar。 
    * runtime,只在運行時使用,如JDBC驅動,適用運行和測試階段。 
    * test,只在測試時使用,用於編譯和運行測試代碼。不會隨項目發佈。 
    * system,相似provided,須要顯式提供包含依賴的jar,Maven不會在Repository中查找它。 

 

參考博文:

http://www.cnblogs.com/hongwz/p/5456578.html

http://www.cnblogs.com/holly/archive/2013/06/15/3137041.html

相關文章
相關標籤/搜索