maven笔记
常规
项目id
<artifactId> first-demo版本号
<version> 1.0-RELEASE组织id
<groupId> com.bzl打包方式
<packaging> jar、war、pom等作用域
<scope>多环境
<profiles>属性
xml
<properties>
<属性名>值</属性名>
<profile.active>pro</profile.active>
</properties>启用配置
xml
<activation>
<activeByDefault>true</activeByDefault>
</activation>管理模块
<modules>
<module>模块路径</module>
<module>模块路径</module>
例如:
<module>../maven_04_dao</module>
</modules>定义属性
<properties>
属性格式:<名称>值</名称>
例子
<spring.version>5.2.10.RELEASE</spring.version>
<junit.version>4.12</junit.version>
<mybatis-spring.version>1.3.0</mybatis-spring.version>
<!--<jdbc.url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url>-->
</properties>依赖管理
xml
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<!--版本号用${}取上面定义的属性的值-->
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>配置多环境
xml
<profiles>
<profile>
<id>env_dep</id>
<properties>
<jdbc.url>jdbc:mysql://127.1.1.1:3306/ssm_db</jdbc.url>
</properties>
<!--设定是否为默认启动环境-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>让资源文件解析${}的方法
方法①让资源目录中配置问价可以解析${}
xml
<build>
<resources>
<!--设置资源目录,并设置能够解析${}-->
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>方法②配置让资源文件可以解析${}的插件
xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<encoding>UTF-8</encoding>
<useDefaultDelimiters>true</useDefaultDelimiters>
</configuration>
</plugin>继承
xml
<parent>
<groupId>com.bzl</groupId>
<artifactId>项目名称</artifactId>
<version>1.0-RELEASE</version>
<!--依赖的工程的pom文件路径-->
<relativePath>../maven_01_parent/pom.xml</relativePath>
</parent>排除依赖
xml
<!--在需要排除的依赖中添加-->
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>可选依赖
在需要隐藏的依赖中添加
xml
<optional>false</optional>排除不参与测试的内容
xml
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<skipTests>false</skipTests>
<!--排除掉不参与测试的内容-->
<excludes>
<!--需要排除的测试类的路径-->
<exclude>**/BookServiceTest.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>私服
在官网下载nexus私服
待补充。。。
配置当前工程保存在私服中的具体位置
xml
<distributionManagement>
<repository>
<id>itheima-release</id>
<url>http://localhost:8081/repository/itheima-release/</url>
</repository>
<snapshotRepository>
<id>itheima-snapshot</id>
<url>http://localhost:8081/repository/itheima-snapshot/</url>
</snapshotRepository>
</distributionManagement>