Maven 和 Java 环境提供的系统定义常用属性可以分成以下几大类:
- Maven 项目属性:这些属性与 Maven 项目本身的配置和结构相关。
- Maven 构建属性:这些属性与项目的构建过程相关。
- Java 环境属性:这些属性与 Java 运行环境相关。
- 系统环境属性:这些属性与操作系统和用户环境相关。
下面是每一类属性的具体配置项:
1. Maven 项目属性
| 属性名 | 描述 |
${project.groupId} |
当前项目的组标识符。 |
${project.artifactId} |
当前项目的工件标识符。 |
${project.version} |
当前项目的版本号。 |
${project.description} |
项目的描述信息。 |
${project.url} |
项目的主页 URL 。 |
${project.packaging} |
项目的打包类型,例如 jar、war。 |
${project.dependencies} |
项目的依赖列表。 |
${project.dependencyManagement} |
项目的依赖管理部分。 |
2. Maven 构建属性
| 属性名 | 描述 |
${project.build.directory} |
项目的构建输出目录,默认是 target。 |
${project.build.outputDirectory} |
编译后的类文件输出目录,默认是 target/classes。 |
${project.build.testOutputDirectory} |
编译后的测试类文件输出目录,默认是 target/test-classes。 |
${project.build.sourceEncoding} |
项目源代码的字符编码。 |
${project.build.testSourceEncoding} |
项目测试源代码的字符编码。 |
${project.build.finalName} |
构建产物的最终名称,通常是 ${project.artifactId}-${project.version}。 |
3. Java 环境属性
| 属性名 | 描述 |
${java.home} |
当前使用的 JDK 安装目录。 |
${java.version} |
当前使用的 JDK 版本。 |
${java.vendor} |
Java 供应商名称。 |
${java.vendor.url} |
Java 供应商的 URL 。 |
${java.class.version} |
Java 类格式版本。 |
${java.specification.version} |
Java 规范版本。 |
${java.specification.vendor} |
Java 规范供应商。 |
${java.specification.name} |
Java 规范名称。 |
4. 系统环境属性
| 属性名 | 描述 |
${os.name} |
操作系统名称。 |
${os.arch} |
操作系统架构。 |
${os.version} |
操作系统版本。 |
${user.home} |
用户的主目录路径。 |
${user.name} |
当前用户的用户名。 |
${user.dir} |
用户的当前工作目录。 |
${file.separator} |
文件路径分隔符(Windows 为 \,Unix 为 /)。 |
${path.separator} |
路径分隔符(Windows 为 ;,Unix 为 :)。 |
${line.separator} |
行分隔符(Windows 为 \r\n,Unix 为 \n)。 |
这些属性为 Maven 构建过程提供了灵活性和适应性,开发者可以根据需要在 POM 文件中使用这些属性来实现动态配置和跨平台兼容性。