侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

maven学习记录

2023-11-01 星期三 / 0 评论 / 0 点赞 / 45 阅读 / 3896 字

1,maven环境搭建: 以前是在断网办公环境开发,这边用maven。 下载maven,配置maven环境变量MAVEN_HOME,path设置到对应bin目录; mvn -v命令查看

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

广告 广告

评论区