maven工程中读取resource目录下配置文件

在maven工程中,我们会将配置文件放到src/main/resources下面,例如

我们需要确认resource 下的文件编译之后存放的位置。

它编译的路径直接位于classes下面,这个路径其实就是classPath的路径,所以,在resources 根目录下的配置文件其实就是 classPath的路径。

// 1.   声明静态数据源成员变量private static DataSource ds;

// 2. 创建连接池对象static {   Properties pp = new Properties();   InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");   try {      // 加载配置文件中的数据      pp.load(is);      // 创建连接池,使用配置文件中的参数      ds = DruidDataSourceFactory.createDataSource(pp);   } catch (IOException e) {      e.printStackTrace();   } catch (Exception e) {      e.printStackTrace();   }}

这样我们就可以直接拿到路径,调用 getResourceAsStream 方法 可以直接拿到目标文件的输入流。

几种读取配置文件的方式比较(代码在src/main/java目录下,资源文件在src/main/resources/目录下):

  1. InputStream is = this.getClass().getResourceAsStream(test.xml); //拿不到资源
  2. InputStream is = this.getClass().getResourceAsStream("/" +test.xml); // 拿到资源
  3. InputStream is = this.getClass().getClassLoader().getResourceAsStream(test.xml); //拿到资源

第一种方式会从当前类的目录下去找,这个文件如果不和该类在一个目录下,就找不到。

第二种方式会从编译后的整个classes目录下去找,maven也会把资源文件打包进classes文件夹,所以可以找到。

第三种方式中ClassLoader就是从整个classes目录找的,所以前面无需再加/。

原文地址:https://www.cnblogs.com/debug-zheng/p/10838461.html

时间: 2024-10-30 00:24:47

maven工程中读取resource目录下配置文件的相关文章

java读取resource目录下的配置文件

1:配置resource目录 下的文件 host: 127.0.0.1 port: 9300 2:读取    / 代表resource目录 InputStream in = this.getClass().getResourceAsStream("/config.properties"); Properties properties = new Properties(); try { properties.load(in); } catch (IOException e) { e.pr

在android工程中,res目录下又有anim、drawable、layout、menu、raw、values和xml文件夹,分别用来保存?

res目录主要是存放资源文件的!layout 布局 这个就是你经常看到的与用户交互的界面的 xml 文件,就是各个 view 的排列和嵌套,没什 么好说的啦 风格和主题. 风格主要是指 view 的显示风格 ;anim 一般是设置动画,画资源分为两种,一是实现图片的 translate.scale.rotate.alpha 四种变化.还可以设置 动画的播放特性:另一种是帧动画,逐帧播放设置的资源; drawable 主要是是存放所使用的图片的! menu:菜单 菜单即可以从代码中实现也可以在资源

Maven工程src/main/resources目录下结构显示问题

当该目录下结果以文件夹格式显示时,可以如下处理: 右键该目录, 在Inclusion patterns目录中Add -->**/*.java 在Exclusion patterns目录这Remove -->** 保存即可.正常目录显示为包结果.

springboot 读取resource目录下的文件

Resource resource =new ClassPathResource("dictionary.txt"); BufferedReader reader=null; //reader=new BufferedReader(new FileReader(file));这样在web运行的时候,读取会乱码 reader=new BufferedReader(new InputStreamReader(resource.getInputStream(),"UTF-8&quo

maven项目中,lib目录下有自己私有的包,则需要配置一下代码,然后进行打包

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.6</source> <target>1.6</target> &l

Android开发系列(十七):读取assets目录下的数据库文件

在做Android应用的时候,不可避免要用到数据库.但是当我们把应用的apk部署到真机上的时候,已经创建好的数据库及其里边的数据是不能随着apk一起安装到真机上的. (PS:这篇博客解决了我前面博客中写的一个小游戏的一个问题,另外也可以读取Raw目录下的数据库文件) 这就造成了一个问题,这个问题其实很好解决,解决方法如下: 我们首先把有数据的数据库文件放在assets资源目录下边,然后在apk应用启动的时候,把assets目录下的数据库文件的数据写入到真机的内存中去. 下边开始我们的代码编写:

本地jar包在maven工程中pom引用

背景 ??在使用Maven的过程中,经常碰到有些jar包在中央仓库没有的情况.如果公司有私服,那么就把jar包安装到私服上.如果没有私服,那就把jar包安装到本地Maven仓库.下面是如何把jar包导入本地maven仓库. 解决方法 1.确定包信息 groupId:设置项目代码的包名(一般用公司或组织名) artifactId:设置项目名或模块名 version:版本号 packaging:什么类型的文件(jar包) filePath:指定jar文件路径与文件名(同目录只需文件名) 2.在工程根

python中获取指定目录下所有文件名列表的程序

http://blog.csdn.net/rumswell/article/details/9818001 # -*- coding: utf-8 -*-#~ #----------------------------------------------------------------------#~ module:wlab#~ Filename:wgetfilelist.py#~ Function :#~ def IsSubString(SubStrList,Str)#~ def GetF

java读取某个目录下所有文件并通过el表达式将相关文件信息展示出来,js提供页面搜索及查看下载功能

从服务器上读取某个目录下的文件  将文件名 文件修改日期   及文件 大小展示在前台  并可以查看及下载 第一步:读取文件目录下的文件,并将文件按时间由大到小排列 public ArrayList<File> getLogs() { // TODO Auto-generated method stub ArrayList<File>  tomcatLogs = new ArrayList<File>(); File path = new File(""