maven

maven 安转

新建变量 MV_HOME F:\pf\apache-maven-3.3.9
Path 中添加 %MV_HOME&/bin
mvn –version 检测是否安转成功

mvn 中央仓库 http://repo1.maven.org/maven2/
在\conf\settings.xml 目录中可以设置本地仓库
本地默认仓库 C:\Users\xm.m2\repository

Nexus 代理中央仓库
setting.xml 配置文件
<mirror>
<id>Nexus</id>
<name>Nexus Public Mirror</name>
<url>http://localhost:8081/nexus/content/groups/public</url>
<mirrorOf>central</mirrorOf>
</mirror>

创建maven项目

mvn archetype:generate 创建maven 项目
或者 使用 mvn archetype:generate -DarchetypeCatalog=internal
选择 webapp 创建web 项目 或者选择quickstart
groupId:artifactId:version 通过这些标示一个项目
groupId: 组织团体或者公司
artifactId:项目名称
version: 版本
packaging jar|war

常用mvn命令

mvn compile 编译项目
mvn package 打包
mvn test 执行测试用例
mvn install 安装 生成的会放到本地仓库中
mvn install -Dmaven.test.skip=true 跳过单元测试
mvn install assembly:assembly 依赖包打成一个jar
mvn help:effective-pom 有效的pom

<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef><!-- 依赖包成一个jar -->
</descriptorRefs>
</configuration>
</plugin>

mvn clean install 清除安转
mvn dependency:resolve 依赖
mvn dependency:tree 依赖树结构
dependency:analyze 分析依赖的关系
mvn help:describe -Dplugin=exec -Dfull 查看插件的详细消息
mvn jetty:run 运行jetty插件

pom(project object model)文件

  1. dependency 中socpe.
    <scope>test</scope> 表示
    它只有在运行compiler:testCompile和surefire:test目标的时候才会被加入到classpath中
    <scope>provided</scope> 编译的时候需要,打包的时候不会包含进出,如servlet-api.jar.

  2. <finalName>simple-webapp</finalName> 最终生成包的名称

  3. 编译插件的配置

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>

4.定义属性

<properties>
<hibernate.annotations.version>3.3.0.ga</hibernate.annotations.version>
</properties>
在其他地方应用该版本号
${hibernate.annotations.version}
    5.

pom 文件父子关系

父中 <modules>
<module>simple-weather</module>
<module>simple-webapp</module>
</modules>  引用子模块

子中 
<parent>
<groupId>org.sonatype.mavenbook.ch06</groupId>
<artifactId>simple-parent</artifactId>
<version>1.0</version>
</parent> 使用parent 标签 groupId 与父元素相同


子模块的相互依赖可以在其中添加
<dependency>
<groupId>org.sonatype.mavenbook.ch07</groupId>
<artifactId>simple-model</artifactId>
<version>1.0</version>
</dependency>

将子模块共同依赖的移到父元素中
dependencyManagement 中
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.0.7</version>
</dependency>

共同的插件pluginManagement

你可能感兴趣的:(maven)