首页
学习
活动
专区
圈层
工具
发布

编译正常运行,打jar包运行报错(找不到文件路径)

前言 博主个人社区:开发与算法学习社区 博主个人主页:Killing Vibe的博客 欢迎大家加入,一起交流学习~~ 问题描述 Maven项目下,从resouces目录下把文件读入内存时,例如将...sql文件用文件输入流读入时,编译时运行正常,但打成jar包后运行jar包报错: Exception in thread “main” java.lang.RuntimeException: java.io.FileNotFoundException...(一般不使用绝对路径,可移植性太差) 这个时候,正常去在项目下编译运行时没有任何问题的,但我们把这个项目打包成可执行jar包的时候,在终端运行这个jar包,就会报错,系统找不到指定的这个文件路径: 原因就在于此时打包后的...jar包默认是在target文件夹下,而我们的代码默认的工作目录是项目的目录,所以一旦在jar包所在目录运行这个jar包,相对路径就不对了,就会报路径错误。...– 解决方案: 1.把这个jar包移动到工作目录上运行(很笨的方法) 2.下面推荐一种做法就是使用类加载器的方式引入资源文件 先上代码: InputStream in = DBUtil.class.getClassLoader

3.9K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    双击运行 jar 文件

    windows 下设置双击运行 jar 文件 大家都知道,项目打包的 jar 文件应该是可以直接运行的,虽然我们也可以用指令 java -jar xxx.jar 运行,但是总归是麻烦些,要是能双击直接打开岂不是很方便...下面我们就来一起看看怎么操作吧 首先确保本地 java 的开发环境配置成功,cmd 执行指令 java -version 正确显示版本号则配置无误,未配置过的朋友请参考这里 接下来我们找到一个可以执行的 jar...R 组合键输入 regedit 打开注册表编辑器找到HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command 右键修改值,路径后添加 -jar..."%1" %* 注意 - 前方有一个空格 修改后返回 jar 包的位置,发现已经改变了,双击即可运行 有时候可能被电脑里的解压程序默认关联了文件格式,这时候如果未生效的话需要到相关软件中取消文件格式关联

    3.3K30

    jar中没有主清单属性啥意思啊_java命令运行jar找不到主类

    1.首先我是用Maven导出到包,得到的jar文件保存在 2.在这个文件目录下cmd运行, java -jar csdn-1.0-SNAPSHOT.jar这句命令提示出现”jar中没有主清单属性...” 3.解决方法; 用压缩包的方式打开jar文件 autoUp.class 这个是我编译之后得到的class文件 main函数在这个里面 打开META-INF文件夹,看到MANIFEST.MF...文件 以记事本的方式打开 我的里面一开始是这个样子 再里面添加一句代码 Main-Class: autoUp 这里的autoUp是我自己编译之后主函数的名字,你们的是上面我介绍的以.class结尾的那个文件名...,你们的程序主函数在哪个文件里,自己都知道吧~~~改为自己的文件名!...然后保存 之后还会弹出这个对话框,一样点击保存 然后关闭就可以了 最后再重复之前cmd的操作就可以了 这是我的运行结果.

    2.5K10

    利用nohup后台运行jar文件包程序

    4 次查看 Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定?...方式二 java -jar XXX.jar & &代表在后台运行。 特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。 继续改进,如何让窗口关闭时,程序仍然运行?...方式三 nohup java -jar XXX.jar & nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到...nohup.out的文件中,除非另外指定了输出文件。...的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

    3.6K30

    IDEA导出jar包后运行报错 找不到或无法加载主类

    在 Project Structure --> Artifacts中,添加jar包时,选择了copy to the out directory and link via manifest  ?...可以看到,上一步骤生成了一个test.jar,并且外边的test.jar还需要再重新创建一个MANIFEST.MF文件 ?...经过测试,即使我创建外边的MANIFEST.MF文件时,把里面的test.jar包打进去,依然会报错:找不到或无法加载主类。 ?...MANIFEST.MF文件,并且这个包里不会再有其他的jar包了,就没有问题了 但是如果我生成的jar包,需要引用其他的jar包,需要在下一步,Class Path栏里手动输入引入的jar包。...至于这里的classpath如何填写,相当于在之前错误用法时生成的META-INF/MANIFEST.MF文件里所引用的jar包一样。

    4.3K20

    项目打包成 jar 后包无法读取srcmainresources下文件

    项目打包成 jar后包无法读取src/main/resources下文件 一、项目场景 二、问题描述 发现问题 分析问题 为什么使用 ClassPathResource 后, 可以找到打包后的文件路径?.../resources/holiday.txt'去寻找, 必然找不到文件, 因此会报文件找不到的异常 8e9a3eed26494e54840e5b9530cc43cc.png 在定位问题的过程中发现,这里提供了一个思路...就是SpringBoot中所有文件都在jar包中,没有一个实际的路径,因此可以使用以下方式 /** * 通过ClassPathResource类获取,建议SpringBoot中使用...classLoader 中, 这些路径包括: java运行环境的jar, Maven 项目中的jar, 以及当前项目打包后的jar等(如下图) 而 classPathResource.getInputStream...出现找不到文件的情况, 我们只需要例化ClassPathResource(文件名) 对象. 然后调用getInputStream 来获取资源文件.

    16K20
    领券