一:properties下配置

在resources下定义server.properties

register.jks.path=classpath\:conf/userRegister/migu.jks

xml配置server.properties

<util:properties id="settings" location="classpath:conf/server.properties"/>

在service类里注入:

    private ResourceLoader resourceLoader;@Value("#{settings['register.jks.path']}")private String trustKeyStore;//调用:public void add()  {ClassPathResource resource = (ClassPathResource) resourceLoader.getResource(trustKeyStore);}

二:在另一项目调用classpath资源文件 / (项目中调用jar包中的资源文件)

在resources下定义server.properties

jks.path=classpath:conf

在xml里配置

<bean id = "tianyiCert" class = "com.util.CertUtil"> <property name="serverCert" value = "${jks.path}/server.jks" /> </bean>
com.util.CertUtil里内容
import org.springframework.core.io.Resource;public class CertUtil {private Resource serverCert;public Resource getServerCert() {return serverCert;}public void setServerCert(Resource serverCert) {this.serverCert = serverCert;}}

调用路径:

    @Resource(name = "tianyiCert")protected  CertUtil certUtil;protected String serverKey; protected String getServerKey() {if (StringUtils.isEmpty(serverKey)) {try {serverKey = certUtil.getServerCert().getFile().getAbsolutePath();return serverKey;} catch (IOException e) {e.printStackTrace();}}return serverKey;}

这样也可以。

下面是较常用的方式

三:常用的方式

ClassLoader 提供了两个方法用于从装载的类路径中取得资源:

public URL  getResource (String name);  
      public InputStream  getResourceAsStream (String name);

这里name是资源的类路径,它是相对与“/”根路径下的位置。getResource得到的是一个URL对象来定位资源,而getResourceAsStream取得该资源输入流的引用保证程序可以从正确的位置抽取数据。
      但是真正使用的不是ClassLoader的这两个方法,而是Class的 getResource和getResourceAsStream方法,因为Class对象可以从你的类得到(如YourClass.class或 YourClass.getClass()),而ClassLoader则需要再调用一次YourClass.getClassLoader()方法,不 过根据JDK文档的说法,Class对象的这两个方法其实是“委托”(delegate)给装载它的ClassLoader来做的,所以只需要使用 Class对象的这两个方法就可以了。
        因此,直接调用  this.getClass().getResourceAsStream(String name) ;获取流,

静态化方法中则使用ClassLoader.getSystemResourceAsStream (String name) ; 。

下面是一些得到classpath和当前类的绝对路径的一些方法。你可能需要使用其中的一些方法来得到你需要的资源的绝对路径。

1.this.getClass().getResource("") 
得到的是当前类class文件的URI目录。不包括自己!
如:file:/D:/workspace/jbpmtest3/bin/com/test/

2.this.getClass().getResource("/") 
得到的是当前的classpath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/

3.this.getClass() .getClassLoader().getResource("") 
得到的也是当前ClassPath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/

4.ClassLoader.getSystemResource("") 
得到的也是当前ClassPath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/

5.Thread.currentThread().getContextClassLoader ().getResource("") 
得到的也是当前ClassPath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/

6.ServletActionContext.getServletContext().getRealPath(“/”) 
Web应用程序 中,得到Web应用程序的根目录的绝对路径。这样,我们只需要提供相对于Web应用程序根目录的路径,就可以构建出定位资源的绝对路径。
如:file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/WebProject

java中 获取classpath路径相关推荐

  1. java代码中获取classpath路径

    原贴:http://blog.csdn.net/magi1201/article/details/18731581 java web工程中,有时候需要自己手动的去读取classpath下面的配置文件, ...

  2. java获取classpath_java代码中获取classpath路径

    参考:http://blog.csdn.net/magi1201/article/details/18731581 方法一: String path = Test.class.getResource( ...

  3. java中获取文件路径的几种方式

    http://my.oschina.net/jing31/blog/6605 关于绝对路径和相对路径:  绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz e ...

  4. 如何在Java中获取临时文件路径

    这是获取Java中临时文件路径的示例. 例 package com.mkyong.file;import java.io.File; import java.io.IOException;public ...

  5. java中获取配置文件路径中含有中文,出现乱码的情况解决方案

    ClassLoader的getResource方法使用了utf-8对路径信息进行了编码,当路径中存在中文和空格时,他会对这些字符进行转换,这样,得到的往往不是我们想要的真实路径,在此,调用了URLDe ...

  6. 转载:JAVA中获取项目文件路径

    2019独角兽企业重金招聘Python工程师标准>>> web 上运行  1: this.getClass().getClassLoader().getResource(" ...

  7. java 取classpath_(转)Java获取CLASSPATH路径

    ClassLoader提供了两个方法用于从装载的类路径中取得资源: public URL getResource(String name); public InputStream getResourc ...

  8. 在java中图片路径_java中获取图片路径三中方法

    java中获取图片路径的方法 //获取路径三中方法 //+ f.getOriginalFilename(); //String filedir = Thread.currentThread().get ...

  9. Java中获取资源文件路径

    Java路径 Java中使用的路径,分为两种:绝对路径和相对路径.具体而言,又分为四种: 一.URI形式的绝对资源路径 如:file:/D:/java/eclipse32/workspace/jbpm ...

  10. Java在WEB项目中获取文件路径

    2019独角兽企业重金招聘Python工程师标准>>> jsp中获得文件路径 1.根目录所对应的绝对路径:request.getRequestURI(): 2.文件的绝对路径:app ...

最新文章

  1. 达内——java变量
  2. MVC Razor模板引擎
  3. bitcask存储引擎
  4. javascript内置顶层函数
  5. ALV中下拉列表列的实现
  6. 「MacOS」Mac快捷键
  7. MongoDB应用篇
  8. IOS15的抽屉效果
  9. 句子中单词首字母大写转换
  10. 【Kafka】kafka 创建 topic的时候 Replication factor 参数理解
  11. 每周荐书:Kotlin、分布式、Keras(评论送书)
  12. 「三分钟系列01」3分钟看懂快速排序
  13. Swagger 3.0 官方 starter 诞生,野生的可以扔了!
  14. memcached安装部署及启动错误排查
  15. c++修复工具_别再花钱修复旧照片啦!老照片一键修复工具,独创方法支持PS2020...
  16. 台式计算机硬盘序号,[硬盘序列号的查看方法]台式机查看序列号的方法
  17. 智慧城管核心应用系统建设
  18. Android中读取图片EXIF元数据之metadata-extractor的使用
  19. MATLAB实现 有限长序列的线性卷积和圆周卷积
  20. Spring boot 2 雷神

热门文章

  1. c语言一维数组程序题,C语言程序设计 练习题参考答案 第四章 一维数组
  2. DRL实战 : N-Armed Bandits问题
  3. Tensorflow 2.0 : FCNN
  4. 算法:罗马数字转换为整数13. Roman to Integer
  5. win10今日热点弹窗怎么删除_“今日热点”怎么去掉,每次弹窗很烦!是哪个软件附带的,我想卸载了!谢谢有心人!~~...
  6. 判断数组中的元素是否连续
  7. 【机器学习系列】隐马尔科夫模型第二讲:前向算法、后向算法
  8. 2018_11_25_生活记录
  9. opengl es坐标变换2
  10. mysql数据库的使用与理解( 基于ubuntu 14.0.4 LTS 64位)