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 文件中使用这些属性来实现动态配置和跨平台兼容性。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异