附件一:POM元素参考
元素名称 | 简 介 |
---|---|
POM的xml根元素 | |
声明继承 | |
声明聚合 | |
坐标元素之一 | |
坐标元素之一,默认值jar | |
名称 | |
描述 | |
许可证 | |
邮件列表 | |
开发者 | |
贡献者 | |
问题追踪系统 | |
持续集成系统 | |
版本控制系统 | |
要求Maven最低版本,默认值为2.0 | |
主源码目录 | |
脚本源码目录 | |
测试源码目录 | |
主源码输出目录 | |
测试源码输出目录 | |
主资源目录 | |
测试资源目录 | |
输出主构件的名称 | |
输出目录 | |
通过properties文件定义资源过滤属性 | |
扩展Maven的核心 | |
插件管理 | |
插件 | |
POM Profile | |
发布版本部署仓库 | |
快照版本部署仓库 | |
仓库 | |
插件仓库 | |
依赖 | |
Maven属性 | |
报告插件 |
附件二:Settings元素参考
元素名称 | 简 介 |
---|---|
Settings.xml文档的根元素 | |
本地仓库 | |
Maven是否与用户交互,默认为true | |
离线模式,默认为false | |
插件组 | |
下载与部署仓库的认证信息 | |
仓库镜像 | |
代理 | |
设置profile | |
激活ProFile |
附件三:常用插件列表
插件名 | 描述 | 厂家 |
---|---|---|
maven-clean-plugin | 清理项目 | Apache |
maven-compiler-plugin | 编译项目 | Apache |
maven-deploy-plugin | 部署项目 | Apache |
maven-install-plugin | 安装项目 | Apache |
maven-resources-plugin | 处理资源文件 | Apache |
maven-site-plugin | 生成站点 | Apache |
maven-surefire-plugin | 执行测试 | Apache |
maven-jar-plugin | 构建JAR项目 | Apache |
maven-war-plugin | 构建WAR项目 | Apache |
maven-shade-plugin | 构建包含依赖的JAR包 | Apache |
maven-changelog-plugin | 生成版本控制变更报告 | Apache |
maven-checkstyle-plugin | 生成CheckStyle报告 | Apache |
maven-javadoc-plugin | 生成javaDoc文档 | Apache |
maven-pmd-plugin | 生成PMD报告 | Apache |
maven-jxr-plugin | 生成源代码交叉引用文档 | Apache |
maven-project-info-reports-plugin | 生成项目信息报告 | Apache |
maven-surefire-report-plugin | 生成单元测试报告 | Apache |
maven-antrun-plugin | 调用Ant任务 | Apache |
maven-archetype-plugin | 基于Archetype生成项目骨架 | Apache |
maven-assembly-plugin | 构建自定义格式的分发包 | Apache |
maven-dependency-plugin | 依赖分析及控制 | Apache |
maven-enforcer-plugin | 定义规则并强制要求项目遵循 | Apache |
maven-pgp-plugin | 为项目构件生成PGP签名 | Apache |
maven-gpg-plugin | 为项目生成GPG签名 | Apache |
maven-help-plugin | 获取项目及maven环境的信息 | Apache |
maven-invoker-plugin | 自动运行maven项目构建并验证 | Apache |
maven-release-plugin | 自动化项目版本发布 | Apache |
maven-scm-plugin | 集成版本控制系统 | Apache |
maven-source-plugin | 生成源码包 | Apache |
maven-eclipse-plugin | 生成Eclipse项目环境配置 | Apache |
build-helper-maven-plugin | 包含各种支持构建生命周期的目标 | Codehaus |
exec-maven-plugin | 运行系统程序或者java程序 | Codehaus |
jboss-maven-plugin | 启动,停止JBoss,部署项目 | Codehaus |
properties-maven-plugin | 从properties文件读写Maven属性 | Codehaus |
tomcat-maven-plugin | 启动,停止Tomcat,部署项目 | Codehaus |
versions-maven-plugin | 自动化批量更新POM版本 | Codehaus |
cargo-maven-plugin | 启动,停止,配置各类Web容器自动部署Web项目 | Cargo |
cobertura-maven-plugin | 生成测试覆盖率报告 | Sourceforge |
jetty-maven-plugin | 集成Jetty容器,实现快速开发测试 | Eclipse |
maven-gae-plugin | 集成Google App Engine | Googlecode |
maven-license-plugin | 自动化添加许可证至源文件 | Googlecode |
maven-android-plugin | 构建Android项目 | Googlecode |
附件四:Maven仓库搜索服务
仓库名称 | 网址 |
---|---|
Sanatype Nexus | http://repository.sonatype.org |
MVNrepository | http://mvnrepository.com/ |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jSIlqy7W-1669277667498)(assets/wps47.jpg)]
附件五: Oracle的驱动jar
早期,Oracle的启动jar在中央仓库是下不到的,需要我们自己把Oracle的驱动jar安装到Maven仓库, 安装的指令如下: 需要管理员身份运行cmd
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.5.0 -Dpackaging=jar -Dfile=ojdbc的jar的路径
现在不仅可以在Maven Central上使用甲骨文数据库最新版本,而且还可以获得所有受支持的Oracle JDBC驱动程序发行版,包括19.3.0.0、18.3.0.0、12.2.0.1和11.2.0.4。从现在开始,Maven Central确实成为Oracle JDBC驱动程序和配套jar的分发中心。
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>18.3.0.0</version>
</dependency>
附件六: 关于Maven项目中无法加载MyBatis映射文件解决办法
通常在使用MyBatis时我们会吧映射文件如UserMapping.xml放在源码中,但是在Maven中编译后不会自动把xml文件复制到classes文件中,所以需要手动在pom.xml中设置
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
还有另外一种解决方法,就是将映射文件放在resources/mapper文件夹下,然后在mybatis-config.xml中进行如下导入:
<mappers> <mapper resource="mapper/UserMapper.xml"/> </mappers>
附件七:指定JDK版本
方式一:
在settings.xml文件的
<profiles>
中全局指定jdk版本<profile> <id>jdk-1.8</id> <activation> <jdk>1.8</jdk> <activeByDefault>true</activeByDefault> </activation> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
方式二:
在项目的pom.xml文件局部的指定jdk版本
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
方式三:
配置compiler插件
<plugin> <!-- 指定maven编译的jdk版本,如果不指定,maven3默认用jdk 1.5 maven2默认用jdk1.3 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不支持的语法),会存在target不同于source的情况 --> <source>1.8</source> <!-- 源代码使用的JDK版本 --> <target>1.8</target> <!-- 需要生成的目标class文件的编译版本 --> <encoding>UTF-8</encoding><!-- 字符集编码 --> <skipTests>true</skipTests><!-- 跳过测试 --> <verbose>true</verbose> <showWarnings>true</showWarnings> <fork>true</fork><!-- 要使compilerVersion标签生效,还需要将fork设为true,用于明确表示编译版本配置的可用 --> <executable><!-- path-to-javac --></executable><!-- 使用指定的javac命令,例如:<executable>${JAVA_1_4_HOME}/bin/javac</executable> --> <compilerVersion>1.3</compilerVersion><!-- 指定插件将使用的编译器的版本 --> <meminitial>128m</meminitial><!-- 编译器使用的初始内存 --> <maxmem>512m</maxmem><!-- 编译器使用的最大内存 --> <compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument><!-- 这个选项用来传递编译器自身不包含但是却支持的参数选项 --> </configuration> </plugin>
e是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->
```<source>1.8</source> <!-- 源代码使用的JDK版本 --> <target>1.8</target> <!-- 需要生成的目标class文件的编译版本 --> <encoding>UTF-8</encoding><!-- 字符集编码 --> <skipTests>true</skipTests><!-- 跳过测试 --> <verbose>true</verbose> <showWarnings>true</showWarnings> <fork>true</fork><!-- 要使compilerVersion标签生效,还需要将fork设为true,用于明确表示编译版本配置的可用 --> <executable><!-- path-to-javac --></executable><!-- 使用指定的javac命令,例如:<executable>${JAVA_1_4_HOME}/bin/javac</executable> --> <compilerVersion>1.3</compilerVersion><!-- 指定插件将使用的编译器的版本 --> <meminitial>128m</meminitial><!-- 编译器使用的初始内存 --> <maxmem>512m</maxmem><!-- 编译器使用的最大内存 --> <compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument><!-- 这个选项用来传递编译器自身不包含但是却支持的参数选项 -->