Intro
Because I couldn't find a clear overview of which properties are availabe in maven2 I started this page. It is a collection of things found in the offcial maven documentation and postings to the maven user mailing list.
Note: In Maven 3.0, all pom.*
properties are deprecated. Use project.*
instead!
Built-in properties
-
${basedir
} represents the directory containing pom.xml -
${version
} equivalent to${project.version
} (deprecated:${pom.version
})
Pom/Project properties
All elements in the pom.xml, can be referenced with the project.
prefix. This list is just an example of some commonly used elements. (deprecated: {pom.} prefix)
-
${project.build.directory
} results in the path to your "target" directory, this is the same as${pom.project.build.directory
} -
${project.build.
outputD
irectory
}
results in the path to your "target/classes" directory -
${project.name
}refers to the name of the project (deprecated:${pom.name
} ). -
${project.version
} refers to the version of the project (deprecated: or${pom.version
}). -
${project.build.finalName
} refers to the final name of the file created when the built project is packaged
Local user settings
Similarly, values in the user's settings.xml can be referenced using property names with settings.
prefix.
-
${settings.localRepository
} refers to the path of the user's local repository
Environment variables
Environment variables can be referenced using the env
prefix
-
${env.M2_HOME
} returns the Maven2 installation path. -
${java.home
} specifies the path to the current JRE_HOME environment use with relative paths to get for example:<jvm>${java.home}../bin/java.exe</jvm>
Java system properties
All Java System Properties defined by the JVM.
Custom properties in the POM
User defined properties in the pom.xml.
<project> ... <properties>
<my.filter.value>hello</my.filter.value>
</properties>
... </project> |
-
${my.filter.value
} will result inhello
if you inserted the above XML fragment in your pom.xml
Parent Project variables
How can parent project variables be accessed?
You can use the prefix: ${project.parent
}.
A good way to determine possible variables is to have a look directly at the API. I'm currently using Maven 2.2.1, and to access the Parent you can use ${project.parent
}. This will return anorg.apache.maven.project.MavenProject instance.
To access the parent version: ${parent.version
}.
Reflection Properties
The pattern ${someX.someY.someZ
} can simply sometimes mean getSomeX().getSomeY().getSomeZ()
. Thus, properties such as ${project.build.directory
} is translated togetProject().getBuild().getDirectory()
.
相关推荐
"SpringMvc+Spring+Mybatis+Maven+注解方式"是一个经典的Java后端技术栈,它整合了四个关键组件,为开发人员提供了强大的工具和框架支持。下面将详细讲解这四个组件及其整合方式。 1. **Spring Framework**: ...
本项目提供了完整的配置代码,并有详细注释,非常适合初学者了解和学习SpringMVC+JPA的注解开发方式,以及如何结合Maven进行项目管理。通过实践这个项目,你可以深入理解Web应用开发的流程,掌握这些技术的使用。
- 在Mojo类上使用`@Parameter`注解来声明输入参数,这些参数可以在Maven命令行中通过`-Dparam=value`来传递。 4. 测试与打包: - 使用`mvn install`命令将插件打包并安装到本地Maven仓库。 - 使用`mvn verify`或...
Maven插件可以通过命令行参数、`pom.xml`配置或默认值传递参数。使用`@Parameter`注解来声明插件参数,包括是否必须、是否隐含、默认值等属性。 6. **测试插件**: 使用Maven Plugin Testing Harness进行插件的...
- **路径参数注解**:使用`@PathParam`注解可以直接从URL路径中获取参数,简化了代码。 - **非阻塞I/O**:支持非阻塞I/O操作,提高处理高并发请求的能力。 2. **Maven的作用** - **依赖管理**:Maven通过pom.xml...
`yuicompressor-maven-plugin`提供了多个可配置参数,例如: - `sourceDirectory`: 指定源文件目录。 - `outputDirectory`: 压缩后的文件输出目录。 - `includes`: 通过正则表达式指定要压缩的文件。 - `excludes`: ...
MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。在本项目中,MyBatis作为数据访问层,负责与数据库进行交互。 3. **Maven...
第14章:灵活的构建/14.2 Maven属性的使用/14.2.2 使用注解:Parameter 第14章:灵活的构建/14.2 Maven属性的使用/14.2.3 属性解析/14.2.3.1 打开属性解析 第14章:灵活的构建/14.2 Maven属性的使用/14.2.3 属性解析/...
1. **映射文件:** MyBatis的核心是映射文件,它定义了SQL语句、参数映射和结果映射。XML配置文件或者注解都可以用来定义这些映射。 2. **SqlSession:** SqlSession对象是MyBatis的会话接口,用于执行SQL操作。执行...
YUI Compressor是一款由Yahoo开发的开源工具,它能够去除代码中的空白、注释,并进行变量名混淆,从而减小文件大小。 在Maven中实现这个功能,我们需要借助maven-assembly-plugin或者maven-war-plugin,但更常见的...
MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 4. **...
本教程将详细介绍如何在Maven下利用注解方式搭建SSH框架。 首先,我们需要了解SSH框架的组成部分: 1. Spring:这是一个全面的企业级应用开发框架,提供IOC(Inversion of Control,控制反转)和AOP(Aspect-...
本教程将深入探讨如何通过反射获取类、方法上的注解以及注解中的值和方法参数。 1. **注解的定义与使用** 注解以`@`符号开头,后面跟着注解的类型。例如,`@Override`表示方法重写,`@Deprecated`表示某个功能已...
在Spring MVC框架中,我们可以使用Spring的事务管理器来管理MyBatis的事务,通过@Autowired注解注入Mapper接口,实现服务层与数据访问层的解耦。 8. **数据库PostgreSQL的使用** PostgreSQL是一个开源的对象关系...
4. **配置pom.xml**:在项目的pom.xml中声明你的插件,设置必要的配置参数,使得Maven在构建过程中能够调用自定义的Zip插件。 5. **测试插件**:使用Maven的`mvn install`命令将插件安装到本地仓库,然后在项目中...
在"通过注释实现IOC"部分,我们指的是使用Spring的注解驱动配置来管理对象之间的依赖关系。例如,@Autowired注解可以自动将匹配类型的bean注入到需要它的类中,无需显式地创建对象实例。此外,@Component、@Service...
Closure Compiler提供了三个压缩级别:WHITESPACE_ONLY(仅去除空格和注释),SIMPLE_OPTIMIZATIONS(进行简单的语法优化),以及ADVANCED_OPTIMIZATIONS(进行高级优化,包括变量和函数的混淆)。ADVANCED_...