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

相关文章
相关标签/搜索