踩坑-weblogic下标准项目部署之后的目录问题--classes文件路径问题

本文介绍了在Java中获取文件路径的多种方法及其适用场景,包括使用类加载器获取资源路径,以及解决在不同服务器环境下路径获取的问题。还提供了解决方案以适应不同部署环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:获取文件路径

1、xxx.class.getClassLoader().getResource(“”).getPath(); 获取src资源文件编译后的路径(即classes路径)

2、xxx.class.getClassLoader().getResource(“文件”).getPath(); 获取classes路径下“文件”的路径

3、xxx.class.getResource(“”).getPath(); 缺少类加载器,获取xxx类经编译后的xxx.class路径

4、this.getClass().getClassLoader().getResource(“”).getPath();

5、Class.getClassLoader.getResourceAsStream("") :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由

ClassLoader获取资源。

项目架构:一般对证书或者验签类外部文件会放在src目录下;tomcat服务器不会存在问题;

标准目录一般为:

但是在把项目发布到weblogic上时,classes会被打成jar,这就意味着当你取路径的时候中间目录不是文件夹而是jar。如果想获取原src下的配置文件,通过上述1234均无法正确获取!!!发布之后的目录为:

此时的classes文件为空文件,原文件被打在了jar中。

这里说下暂时想到的几种处理方式:

1.如果要获取对应文件里的内容,用Class.getClassLoader.getResourceAsStream直接读流。也就是上述5这个方法;

2.如果一定需要获取文件路径,可以采用换文件夹的形式,注意避免打在jar里面,jar不是文件夹,直接/a.jar/a.txt这样是拿不到文件的;

3.将需要用到的文件放到服务器指定的盘符路径(虽然不灵活但是最容易)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值