- 浏览: 958655 次
- 性别:
- 来自: 江西上饶
文章分类
- 全部博客 (460)
- p.spring (56)
- p.maven (20)
- p.ant (17)
- p.jee (18)
- p.jse (33)
- p.ofbiz (31)
- p.软件工程 (8)
- p.struts2 (5)
- p.hibernate (5)
- linux (25)
- 设计模式 (2)
- p.javascript (11)
- 硬件 (1)
- p.jsp (2)
- p.windows批处理 (1)
- 操作系统问题 (5)
- 算法 (1)
- p.mysql (7)
- p.sql (5)
- p.c (1)
- google产品 (0)
- 内存 (1)
- p.struts (1)
- p.freemarker (7)
- p.css (4)
- p.log4j (10)
- p.html (3)
- 淘宝产品 (0)
- 其他 (3)
- 编译器 (0)
- svn (4)
- p.spring.security (11)
- 图形 (0)
- p.xml (1)
- p.ssh (0)
- p.jquery (4)
- p.jdbc (3)
- p.flex (0)
- p.c++ (0)
- p.c#Net (0)
- p.assembly (0)
- p.sqlserver (0)
- p.其他 (3)
- p.webwork (21)
- p.wap (12)
- p.cglib (1)
- p.jee服务器 (11)
- windows (2)
- p.iphone (1)
- p.java.分布式与集群 (2)
- p.ibatis (16)
- p.eclipse (5)
- 架构 (2)
- http协议 (5)
- 我的个人标准 (2)
- 多线程 (1)
- 奇怪问题 (5)
- p.jira (13)
- p.httpclient (1)
- 服务器.apache (11)
- 安全防范 (1)
- p.PODAM (1)
- p.junit (16)
- fop (2)
- 硬盘安装 (1)
- powerdesigner (0)
- 单元测试 (1)
- apache commons (4)
- tomcat+apache集群 (10)
- 各类诡辩 (1)
- 安卓 (8)
- qvod (1)
- java编程基础知识考试考点及答案 (0)
- 工作总结 (4)
- oracle (0)
- spring的util工具 (3)
- json (2)
- maven (3)
- jms (19)
- p.bat (3)
- hadoop (2)
- git (3)
- nginx (1)
- p.移动开发 (1)
- shiro (3)
- 游戏破解 (1)
- react-native (7)
- ios开发 (1)
- webmagic (6)
- socks5 (1)
最新评论
-
weituotian:
说的不好,没人看的
公司系统中的菜单功能和权限功能 -
石不易:
非常详细的注解~
绑定端口和IP,Listen 与VirtualHost指令 -
spring_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
spring mvc -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装 -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装
通过${}访问属性
。Maven提供了隐式的变量,可以用来访问环境变
量,POM信息,和Maven Settings:
env
env变量暴露了你操作系统或者shell的环境变量。
project
project变量暴露了POM。你可以使用点标记(.)的路径来引用POM元素
的值。例如,${project.artifactId}。
settings
settings变量暴露了Maven settings信息。可以使用点标记(.)的路径来引
用settings.xml文件中元素的值。例如,${settings.offline}会引用~/.m2/
settings.xml文件中offline元素的值。
系统属性,只要是能通过System.getProperty()方法获取的属性都可以作为Maven属性被引 用
除了隐式变量,还提供一些非隐式功能
Java系统属性
所有可以通过java.lang.System中getProperties()方法访问的属性都被暴露
成POM属性。具体能访问到什么属性,可以查看java.lang.System类的Javadoc中找到。
项目的属性
[url]http://maven.apache.org/ ref/2.0.9/maven-model/maven.html[/url]
常用的“
project.groupId 和 project.version
project.name
project.description
• project.build.sourceDirectory
• project.build.scriptSourceDirectory
• project.build.testSourceDirectory
• project.build.outputDirectory
• project.build.testOutputDirectory
• project.build.directory
sourceDirectory,scriptSourceDirectory,和testSourceDirectory提供了项 目源码目录的访问方式。outputDirectory和testOutputDirectory则能让你访问 Maven放置字节码和其它构建输出的目录。directory引用的目录就是包含上述两 个输出目录的父目录。
Maven的Settings属性
你也可以引用任何Maven本地Settings文件的属性,该文件通常位于~/.m2/ settings.xml。
环境变量属性
环境变量可以通过env.*前缀引用。以下列表是一些有趣的环境变量:
env.PATH 包含了Maven运行的当前PATH。该PATH包含了一个用来查找可运行脚本和程序的 目录列表,
env.HOME (在*nix系统中)这个变量指向了用户的home目录。但你更应该使用/home/ hudson,而非这个变量。
env.JAVA_HOME 指向了Java安装目录。它要么指向JDK安装目录,要么或者JRE目录。但你更应该 考虑使用/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre而非这个属性。
env.M2_HOME 指向了Maven2安装目录
自定义属性
我们还可以通过pom.xml或者settings.xml中的properties元素设置自己的属
性,或者还可以使用外部载入的文件中属性。
如
<project> ... <properties> <arbitrary.property.a>This is some text</arbitrary.property.a> <hibernate.version>3.3.0.ga</hibernate.version> </properties> ... <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>${hibernate.version}</version> </dependency> </dependencies> ... </project>
资源过滤
你可以使用Maven来对项目资源进行变量替换。在资源过滤被激活的时候,Maven会扫描 资源,寻找由${ 和}包围的Maven属性的引用。一旦它找到这些引用,它就会使用合适 的值去替换它们,就像前一节中定义的属性可以在POM中引用一样。当你需要根据目标 部署平台使用不同的配置来参数化一个构建的时候,这就非常有用。
通常一个在src/main/resources目录下的.properties文件或者XML文档会包含对外部资 源的引用,如需要根据目标部署平台进行不同配置的数据库或网络地址。例如,一个从 数据库读取数据的系统有一个XML文档,其包含了数据库的JDBC URL以及安全凭证。如 果你在开发和产品环境使用不同的数据库。你可以选择使用一种技术如JNDI将配置信息 从应用程序提取出来至应用服务器,或者你可以创建一个知道如何根据目标平台用不同 的值替换变量的构建。
假设SPRING的配置关于数据库配置部分是
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="someDao" class="com.example.SomeDao"> <property name="dataSource" ref="dataSource"/> </bean> <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource" <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> </beans>
POM
<project> ... <properties> <jdbc.driverClassName>com.mysql.jdbc.Driver</jdbc.driverClassName> <jdbc.url>jdbc:mysql://localhost:3306/development_db</jdbc.url> <jdbc.username>dev_user</jdbc.username> <jdbc.password>s3cr3tw0rd</jdbc.password> </properties> ... <build> <resources> <resource>src/main/resources</resource> <filtering>true</filtering> </resources> </build> ... <profiles> <profile> <id>production</id> <properties> <jdbc.driverClassName>oracle.jdbc.driver.OracleDriver</jdbc.driverClassName> <jdbc.url>jdbc:oracle:thin:@proddb01:1521:PROD</jdbc.url> <jdbc.username>prod_user</jdbc.username> <jdbc.password>s00p3rs3cr3t</jdbc.password> </properties> </profile> </profiles> </project>
maven默认资源过滤是关闭的,通过 <resources>
<resource>src/main/resources</resource>
<filtering>true</filtering>
</resources>
开启资源过滤
另外如上profile功能的存在,在不同环境,数据库的连接配置也会变化。
发表评论
-
Invalid signature file digest for Manifest main attributes
2015-09-23 14:26 8265java.lang.SecurityException: In ... -
Unable to locate Spring NamespaceHandler for XML schema namespace
2015-09-23 14:00 2323org.springframework.beans.facto ... -
利用maven的filter和profile实现不同环境使用不同的配制
2015-07-30 12:54 717通过命令行模式 https://liyixing1.itey ... -
Nexus 仓库管理器
2015-04-02 11:15 1125简介 仓库管理器有两个 ... -
Profile
2015-03-30 11:55 627Profile是可以在指定环境通过指定指令或者自动触发,用来 ... -
settings.xml
2014-12-31 10:41 750settings.xml文件可以放在两个地方 • Maven安 ... -
项目依赖
2014-12-30 22:19 641依赖具有范围,默认为全局范围 也可以指定依赖范围 Maven ... -
版本号规范,镜像版本SNAPSHOT,LATEST 和 RELEASE 版本
2014-12-30 16:46 6134如果版本号不遵守maven规范,那么maven在对版本进行排序 ... -
依赖传递分析 dependency 插件
2014-12-30 15:29 969基本分析: mvn dependency:analyze 可 ... -
多模块项目
2014-12-29 17:02 503多模块首先需要创建一个父项目,父项目负责对子项目的管理,按照规 ... -
archetype
2014-12-28 21:15 761网址 该插件为maven原型插件,该插件平台上存储了多种常见的 ... -
打包插件 assembly
2014-12-27 14:14 780http://maven.apache.org/plugins ... -
测试插件,surefire-plugin
2014-12-27 13:41 874主页 完整参数 maven默认配置已经加载过该插件 相当于 ... -
插件,插件目标,生命周期,坐标,仓库,依赖管理
2014-12-25 16:07 484插件与目标(Plugins and g ... -
help插件
2014-12-24 15:56 725Maven Help 插件有四个目标。前三个目标是—— act ... -
pom.xml
2014-12-24 13:57 733每个maven文件都需要一 ... -
安装maven及测试第一个项目
2014-12-23 11:57 504maven需要配置几个环境变量 M2_HOME,用来指定mav ... -
maven的优势理解
2014-12-23 11:51 10061.对于svn等版本控制的库而言,具有减少上传空间的作用,这个 ... -
maven转eclipse JEE应用
2011-06-19 15:26 2430我的maven结构是 外层应用 biz应用 web应用 创 ...
相关推荐
但有时我们需要更精细的控制,例如改变默认位置、添加过滤器或者设置缓存策略,这时就需要自定义资源映射。 1. **自定义静态资源目录**: 如果你想将静态资源放在其他地方,可以通过配置`spring.resources.static-...
- 使用`setWindowFlags()`函数可以修改窗口的默认属性,如禁用系统标题栏,这样我们就有了更大的自由度来设计自己的标题。 2. **自定义标题**: - 创建一个自定义的标题区域,这通常是一个QWidget子类,包含标题...
在实际应用中,标记体的处理可以更复杂,例如根据属性值对内容进行格式化、过滤或处理,然后将其插入到JSP页面。 六、标签中的子标记 子标记允许在一个自定义标签内部嵌套其他自定义标签,实现更复杂的逻辑。每个子...
`filter.png` 文件可能是用于显示过滤图标或操作按钮的图像资源。在 DataGrid 中,启用过滤后,每列标题上会出现一个过滤图标,用户点击该图标可以打开过滤菜单,选择过滤条件。 `datagrid-filter.html` 文件则包含...
文件"5-11-Android自定义控件(EditText)"可能是对这个过程的一个详细教程或示例代码,它可能涵盖了上述提到的一些步骤,包括创建自定义属性、解析属性、重写父类方法等。阅读这个文件将有助于进一步理解如何在实践...
1. **列表**:可能是指自定义的列表视图或数据网格,这些控件可能增强了标准WPF控件的功能,如支持更复杂的排序、过滤和分页,或者拥有独特的布局和样式。 2. **按钮**:自定义按钮可能包含了各种风格和动画效果,...
1. 自定义属性显示:通过继承`System.ComponentModel.PropertyDescriptor`类,开发者可以控制属性的显示方式,例如添加图标、改变颜色或者调整排序。 2. 属性过滤:根据需要,可以实现只显示特定类型的属性,或者在...
过滤功能通常需要编写自定义代码来实现,而分组则可以通过`grouping`属性和`AdvancedDataGrid`的`groupingEnabled`属性来开启。 总的来说,Flex DataGrid的自定义显示列是通过灵活的列配置、自定义渲染器以及数据...
- **属性和方法扩展**:添加自定义属性和方法,用于设置控件状态或执行特定操作。 - **设计时支持**:为了让控件在设计时也能正常工作,需要实现ISupportInitialize接口和Designer属性。 在实际项目中,自定义控件...
4. **扩展功能**:可以根据需求添加自定义功能,比如动态加载选项、搜索过滤等。这可以通过添加额外的方法和属性来实现。 5. **使用组件**:在HTML中像使用普通HTML标签一样使用自定义标签: ```html ...
同时,可以添加额外的属性(如字体资源、颜色值等)并使用`setXXX()`方法暴露给布局文件,方便在XML中使用。 对于`CustomEditText`,可能我们需要增加如自动完成、密码显示切换等功能。这可能涉及到监听输入事件、...
5. **依赖属性(Dependency Property)**:为了支持自定义属性,如是否显示DataGrid,或者DataGrid的列数,我们需要定义依赖属性。依赖属性提供了属性变更的通知和动画支持。 6. **扩展性(Extensibility)**:为了...
通过设置QStyleSheet,我们可以改变字体、颜色、背景、边框等属性,创建独特的视觉效果。例如,我们可以为选中的项设置不同的背景色,或者为特定的行添加下划线。 最后,我们讨论如何实现**无边框界面的拖放操作**...
这些函数可能是用于数据绑定、排序、过滤或自定义事件处理,以增强表格的实用性。 5. **示例项目**:提供的简单示例项目是一个很好的学习资源,它展示了如何在实际应用中使用这个自定义表格类。通过运行和分析示例...
这可以通过设置颜色资源或者在代码中动态改变View的颜色属性实现。对于颜色的控制,开发者需要理解Android的颜色选择器(ColorPicker)和颜色过滤器(ColorFilter)。 压缩包中的文件名表明,包含有源码说明、更多...
- **自定义会话属性**:可以为每个HTTP会话添加自定义的标签或属性,便于后期的过滤和分析。 3. **在前端测试中的应用**: - **模拟不同的网络环境**:Fiddler可以帮助前端开发者模拟各种网络状况,如慢速网络、...
4. **配置属性**:根据需求,定义自定义的配置属性,比如特殊的日志格式、附加信息等。 5. **实现配置解析**:使用`IAppenderAttachable`接口,并实现`ActivateOptions`方法,以便在配置文件中指定多个Appender实例...
在AngularJS中,自定义过滤器的另一个例子是基于状态或属性的文本转换。例如,根据某个字段的值返回不同的颜色、文本或类别。在这个例子中,过滤器根据不同的类型参数,通过switch语句返回不同的值,这可以用于动态...
- **搜索和过滤**:内置搜索框,让用户能快速找到特定节点,或者根据条件过滤显示部分节点。 4. **源码分析**: - **数据模型**:理解组件的数据结构,如节点对象包含哪些属性和方法,如何表示父子关系。 - **...