maven手动添加resource配置文件
来源:互联网 发布:报表软件 编辑:程序博客网 时间:2024/05/02 21:51
问题描述
最近的web项目中使用到了数据库连接,我将连接信息都存在一个jdbc.properties文件中,那么在发布时自然不能将这个配置文件发布出去。我们的web工程分多模块的,那么我就建了一个maven parent工程,所有其子maven工程的jdbc.properties都不会被发布出去。
<!-- 打包时不打包jdbc配置 --> <resources> <resource> <directory>src/main/resources</directory> <excludes> <exclude>jdbc.properties</exclude> </excludes> <filtering>false</filtering> </resource> </resources>但是,当我们实际最后完成的工程需要jdbc.properties一起发布怎么办,此时只能手动的将jdbc.properties拷贝到输出文件中。
解决方法
使用下面2种方法都可以实现手动将特定的配置文件拷贝到输出文件中,推荐使用第二种
使用maven-antrun-plugin插件
maven-antrun-plugin的官方的示例http://maven.apache.org/plugins/maven-antrun-plugin/examples/customTasks.html,参考这个例子并且修改下tasks中的命令就可以完成想要的功能
<plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>copy-jdbc</id> <phase>prepare-package</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <copy file="${basedir}/src/main/resources/jdbc.properties" todir="${project.build.outputDirectory}"/> </tasks> </configuration> </execution> </executions> </plugin>
使用maven-resources-plugin插件
maven-resources-plugin的官方的示例https://maven.apache.org/plugins/maven-resources-plugin/examples/copy-resources.html,参考这个例子把输出的文件夹改成target/classes就可以了
<plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>copy-resources</id> <phase>process-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/target/classes</outputDirectory> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>jdbc.properties</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin>
maven相关
maven生命周期
参考http://juvenshun.iteye.com/blog/213959
maven内置变量
参考http://blog.csdn.net/caihaijiang/article/details/6664910
- ${basedir} 项目根目录
- ${project.build.directory} 构建目录,缺省为target
- ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
- ${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
- ${project.packaging} 打包类型,缺省为jar
- ${project.xxx} 当前pom文件的任意节点的内容
后记
经过实际使用的体验,其实各个工程在打包时选择不发布那些包还是放到自己工程的pom.xml文件中更好,即清晰也不会出错。下面是发布war包时不发布web.xml的配置
<plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> <warSourceExcludes>WEB-INF/web.xml</warSourceExcludes> </configuration> </plugin>
0 0
- maven手动添加resource配置文件
- maven手动添加包到库
- 手动添加本地 Maven 资源
- maven手动添加jar包到库
- maven手动添加jar包
- Maven手动添加本地仓库
- maven手动添加 oracle 依赖
- maven手动添加 oracle 依赖
- maven手动添加ojdbc6.jar
- maven工程下 读取resource下配置文件
- 手动添加schema配置文件到myeclipse
- Maven手动添加本地Jar包
- <学习笔记> Maven手动添加jar包
- Maven 手动添加本地jar包
- 为Maven手动添加Jar包
- Maven手动添加本地jar包
- 手动添加jar包到maven
- idea+maven 手动添加oracl架包
- 直接拿来用!最火的Android开源项目(二)
- 运行时程序挂掉了
- VS工具中断点叹号问题
- Android universal-imageloader之DisplayImageOptions详细配置
- UVa10410 - Tree Reconstruction
- maven手动添加resource配置文件
- 第三周项目5(3)(4)
- 【jQuery】无须id、name与class等属性,直接对表单中的所有表单项进行遍历、判断、检验
- 同一进程的线程共享的资源和独有的资源
- dll接口字符串乱码
- 直接拿来用!最火的Android开源项目(完结篇)
- JAVA学习笔记(三十七)- 创建继承Thread的线程
- C++66页作业
- php类的目录