maven笔记

查看依赖:

mvn dependency:tree

离线执行maven:

mvn -o package

编译打包:

mvn clean package install -DskipTests=true

导出lib:

mvn dependency:copy-dependencies -DoutputDirectory=lib

安装:

当我们需要安装一个本地jar包到本地资源库的时候我们可以使用“mvn install:install-file”指令,使用该指令时有几个参数需要指定。file:表示本地jar包所在的路径;groupId:表示jar包被安装到本地仓库之后的groupId;artifactId:表示jar包被安装到本地仓库之后的artifactId;version:表示安装到本地仓库之后对应的版本;packging:表示当前组件被引用的类型,既然我们是安装jar包则这里对应的自然是jar了。示例,假如现在我们需要安装一个jar包“c:\jars\abc.jar”到我们的Maven本地仓库,那么我们可以在命令窗口执行以下命令:

mvn install:install-file -Dfile=c:\jars\abc.jar -DgroupId=com.tiantian -DartifactId=abc -Dversion=1.0 -Dpackaging=jar
这样就会把我们的“c:\jars\abc.jar”以groupId为“com.tiantian”,artifactId为“abc”,version为“1.0”,packaging类型为jar安装到我们的本地仓库,之后我们就可以直接在我们本地的Maven项目中引用该依赖类型了。如:

<dependency>
	<groupId>com.tiantian</groupId>
	<artifactId>abc</artifactId>
	<version>1.0</version>
</dependency>

使用mvn deploy可以安装当前项目到远程仓库


把资源文件一并打到jar包中

如果需要把一些资源文件也一并打包到jar包里面的话,需要在${basedir}/src/main下新建一个resources目录,然后把所有的资源文件都放到这个目录中,这样这些文件都会放到类路径下面。如果需要在测试代码中访问到对应的资源,那么相对的就需要在${basedir}/src/test下新建一个resources目录,然后把相应的资源文件放在这个目录下。


资源文件变量替换

有的时候有些资源文件中的值我们需要在编译的时候动态的指定,maven允许我们在建立文件的时候以${property_name}的方式指定,这样当我们进行编译的时候就会自动的把property_name对应的值替换${property_name}。这个property可以是pom.xml中定义的值,也可以是settings.xml中定义的值,也可以是定义在外部属性文件中的值,还可以是系统属性。maven这种动态替换属性值的功能默认是关闭的,如果要打开的话需要在项目的pom.xml文件中指定filtering的值为true,默认是false。如下示例:

<build>  
   <resources>  
     <resource>  
        <directory>src/main/resources</directory>  
        <filtering>true</filtering>  
     </resource>  
   </resources>  
  </build>  

从上面的文件我们可以看出,filtering这个参数是针对于特定的资源文件目录的,而且我们还可以使用directory来指定资源文件的存放位置,默认是src/main/resources。这个build元素是有默认值的,因为我们需要改变filtering的值,所以需要重新定义build,然后覆盖里面的默认值。

使用pom.xml和settings.xml中的元素element作为属性

可以使用${pom.name}来表示project元素下面的name元素,使用${pom.version}来表示project元素下面的version元素。

 在resources目录下定义如下使用样例:

project_version=${pom.version}
project_modelVersion=${pom.modelVersion}
project_artifactId=${pom.artifactId}
settings_localRepository=${settings.localRepository}
使用外部文件属性进行变量替换

要使用外部文件的属性来关联资源文件里面定义的属性值,那么我们就需要告诉maven应该去哪里找这个属性文件,这是通过在pom.xml中指定filter的值来指定的。

<build>  
   <filters>  
      <filter>src/main/filters/testFilter.properties</filter>
   </filters>  
   <resources>  
      <resource>  
        <directory>src/main/resources</directory>  
        <filtering>true</filtering>  
      </resource>  
   </resources>  
  </build> 
.properties中用myFilter.maven.test=test ,替换变量${myFilter.maven.test}  
在pom.xml文件内部定义的属性值将具有更高的优先级,它会覆盖外部属性文件中相同的属性定义。

设置外部依赖包

对于每一个外部依赖都有4个元素是必须定义的,它们是groupId、artifactId、version和scope。其中groupId、artifactId和version必须和依赖包中使用maven打包时定义的pom.xml中定义的相对应的元素的值相同。对于每一个外部依赖都有4个元素是必须定义的,它们是groupId、artifactId、version和scope。其中groupId、artifactId和version必须和依赖包中使用maven打包时定义的pom.xml中定义的相对应的元素的值相同。


plugin

phrase并不是Maven最小的执行单元,一个phrase可能包含多个goal,每一个goal才是最小的操作集,在maven中,goal的实现是通过plugin来完成的,并且一个plugin可实现多个goal,pom配置中,可通过<plugin>标签,为phrase引入具体的goal。

参考:

Maven简介(二)——使用Maven

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值