解决java打包成jar包访问文件的绝对路径报错问题

看到有小伙伴提问java打包成jar包访问文件的绝对路径报错问题。
这里给出一个解决方案:
	解释:打包成jar包后,直接访问文件绝对路径是找不到文件的,会抛出FileNotFoundException。
	必须以IO流的方式访问文件。接下来看例子,直接上代码!
    public static void main(String[] args) {
        Properties prop = new Properties();
        try {
//            File file = new FileSystemResource("src/main/resources/domian.properties").getFile();
            prop.load(new ClassPathResource("/domian.properties").getInputStream());
        } catch (IOException e) {
            e.printStackTrace();
        }
        Enumeration<Object> keys = prop.keys();
        while (keys.hasMoreElements()) {
            String key = keys.nextElement().toString();
            String value = prop.getProperty(key);
            System.out.println(value);
        }
    }

文件位置:

在这里插入图片描述

如果有编码问题,使用这段代码设置编码

Properties prop = new Properties();
        try {
//            File file = new FileSystemResource("src/main/resources/domian.properties").getFile();
            prop.load(new InputStreamReader(new ClassPathResource("/prop.properties").getInputStream(), "GBK"));
        } catch (IOException e) {
            e.printStackTrace();
        }

其中的ClassPathResource类需要导入jar包:

		<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.2.0.RELEASE</version>
        </dependency>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于您的问题,可能是由于打包时未正确包含 CompanyServiceImpl.class 文件导致的。请确保您的打包操作正确,并按照以下步骤进行检查和调试: 1. 确认 CompanyServiceImpl.class 文件存在并位于正确的目录下。请检查您的项目结构和包名是否与代码中的引用一致。如果文件丢失或位置不正确,请将其添加或移动到正确的位置。 2. 如果您使用了 Maven 或 Gradle 等构建工具,请确保 CompanyServiceImpl 类被正确地包含在构建配置文件中。检查您的构建文件(如 pom.xml 或 build.gradle)是否正确配置了依赖项和资源文件。 3. 确认打包操作是否正确。您可以使用命令行或使用 IDE 中的打包功能来创建可执行的 JAR 文件。确保您包含了所有必要的类和资源文件,并将它们正确地放置在 JAR 文件路径中。 4. 如果您使用了外部依赖库,请确保这些库已正确地包含在 JAR 文件中。您可以使用 Maven 或 Gradle 等构建工具来处理依赖项,并确保在打包时将它们正确地包含在 JAR 文件中。 5. 检查运行时环境是否与打包时使用的环境一致。某些情况下,可能会因为环境变量或类路径设置不正确而导致不到文件。请确保您的运行环境正确设置,并且具备执行 JAR 文件所需的依赖项。 如果您尝试了上述步骤但问题仍然存在,请提供更多关于您的项目结构、打包配置和运行环境的详细信息,以便我们更好地帮助您解决问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值