您的位置:首页 > 其它

maven学习记录

2017-07-16 00:00 162 查看
1,maven环境搭建:

以前是在断网办公环境开发,这边用maven。

下载maven,配置maven环境变量MAVEN_HOME,path设置到对应bin目录;

mvn -v命令查看



maven conf目录setting添加国内源:

<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。

建立pom.xml,自动更新对应依赖包。

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Maven