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...注:已有类就是项目文件夹下的任何一个类,比如我在src/main/java下写了一个叫做DBUtil的类 因为项目中的源文件打包编译之后都会放在 target 文件夹下的 classes 文件夹中(包括资源文件
windows 下设置双击运行 jar 文件 大家都知道,项目打包的 jar 文件应该是可以直接运行的,虽然我们也可以用指令 java -jar xxx.jar 运行,但是总归是麻烦些,要是能双击直接打开岂不是很方便...下面我们就来一起看看怎么操作吧 首先确保本地 java 的开发环境配置成功,cmd 执行指令 java -version 正确显示版本号则配置无误,未配置过的朋友请参考这里 接下来我们找到一个可以执行的 jar...Win + R 组合键输入 regedit 打开注册表编辑器找到HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command 右键修改值,路径后添加...-jar "%1" %* 注意 - 前方有一个空格 修改后返回 jar 包的位置,发现已经改变了,双击即可运行 有时候可能被电脑里的解压程序默认关联了文件格式,这时候如果未生效的话需要到相关软件中取消文件格式关联
怎么后台运行jar包 1.后台运行jar包 [root@slaver5 testshanghai]# nohup java -jar planingprojectweb-2020120813.jar &...nohup:不挂断地运行命令,输出都将附加到当前目录的 nohup.out 文件中。...如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中 &:后台运行 查看nohup.out [root@slaver5 testshanghai]# cat...java -jar planingprojectweb-2020120813.jar root 26269 26076 0 09:52 pts/2 00:00:00 grep java...这里可以看到planingprojectweb-2020120813.jar,证明运行成功 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
在linux中,有些地方需要使用绝对路径,对于一些命令,如java、mysql等,需要使用到运行文件所在的路径,给大家介绍一个命令,来查询这个路径。...which 可以通过which查询运行文件的所在路径,具体如下: ?...为例,命令如下: [work(zhaoweinan)@tjtxvm-144-80 soft]$ which mysql /opt/soft/percona-mysql55/bin/mysql 命令输出了运行文件...mysql所在的路径 当没有该文件时,输出如下: [work(zhaoweinan)@tjtxvm-144-80 soft]$ which baidu /usr/bin/which: no baidu...sbin:/usr/sbin:/sbin:/opt/soft/percona-mysql55/bin/:/opt/soft/percona-mysql55/bin/:/home/work/bin) 会把有运行文件的路径输出出来
解压修改后再打包 解压: jar xvf xxx.jar 打包: jar cvfm0 xxx.jar META-INF/MANIFEST.MF ./ 注: -m参数可以将 一个具体的mainfest文件打包进入...jar内生成mainfest文件,否则运行jar会报no main manifest attribute in xxx.jar -0是store only;use no zip compression...只存储,不压缩 使用jar -h查看帮助 直接修改jar中的文件 首先安装zip和unzip: sudo yum install zip unzip 然后使用vim打开jar(注意是vim不是vi)...: vim xxx.jar /yyy.properties 2次回车(第1次定位到yyy.properties文件, 再按回车打开文件修改) :wq :q
一、获取可执行jar包所在目录 (1)方法一:使用 System.getProperty("java.class.path") 获取classpath的路径,若没有其他依赖,在cmd下运行该可执行jar...的结果应当是该可运行jar包的绝对路径, * 此时我们只需要经过字符串解析,便可得到jar所在目录 */ if(filePath.contains(pathSplit)){ filePath =...filePath.substring(0,filePath.indexOf(pathSplit)); }else if (filePath.endsWith(".jar")) { //截取路径中的...("jar包所在目录:"+filePath); 二、获取当前JVM运行目录 使用: System.getProperty("user.dir") 三、获取jar包内的资源文件 文件与classes在同一目录下...,或者使用maven构建时,文件存在于resources文件夹下,可以使用: getResourceAsStream 代码如下: /** * 读取jar包中的资源文件 */ InputStream
最近在做一个项目,由于项目团队很多人,分工给我打包了一个jar服务器端的文件,然后用本地测试可以,然后再服务器运行,由于服务器是Linux的,这就体现了java的可移植性强的优点,但是执行运行命令后,关闭...ssh窗口再次我请求数据的时候,程序自动关闭了,后来查阅资料才知道,这是Linux的原因。...一些简单的操作linux jar包命令 1、执行jar包的命令和在windows操作系统上是一样的,都是java -jar xxxx.jar。...2、将jar程序设置成后台运行,并且将标准输出的日志重定向至文件consoleMsg.log。...nohup java -jar arserver-0.0.1-SNAPSHOT.jar >consoleMsg.log 2>&1 & 3、如果想杀掉运行中的jar程序,查看进程命令为: ps aux|
Linux下运行jar包 首先查看将要运行的端口是否被其他java进程占用 sudo netstat -plten |grep java 如果端口存在java进程,需要终止进程,否则无法运行SpringBoot...项目. kill 进程PID Linux下进入jar包目录,使用 nohup java -jar 包名 & 命令可以将jar包运行,关闭终端不会停止,该命令会返回java进程的PID,并且在jar包目录下会生成...nohup日志文件。
方式一: java -jar shareniu.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定?...方式二 java -jar shareniu.jar & &代表在后台运行。 特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。 继续改进,如何让窗口关闭时,程序仍然运行?...方式三 nohup java -jar shareniu.jar & nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到...nohup.out的文件中,除非另外指定了输出文件。...的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
在部署 Java 程序的时候,最简单的方式就打成 jar 并使用 java -jar xxxx.jar 运行,但是如果是一台 Linux 服务器,执行远程上去之后,如果断开链接会中断服务,经过测试,可以通过下面的命令执行...: nohup java -jar xxxx.jar & 但是这样会在 nohup.out 生成日志,如果日志过大,则可以通过 cp /dev/null nohup.out 进行清理。
Linux后台运行jar程序在Linux系统中,有时候我们需要将Java程序以后台进程的方式运行,以便在关闭终端或退出登录时仍然保持程序的运行状态。...本文将介绍如何在Linux中后台运行一个Java的jar程序。准备工作在开始之前,确保您的Linux系统中已经安装了Java运行环境(JRE 或 JDK)。...这样,您的jar程序就会在后台运行,并将输出写入output.log文件中。您可以使用tail -f output.log命令来查看实时日志。...通过以上步骤,您就可以在Linux系统中成功地将一个Java的jar程序以后台进程的方式运行起来。示例代码,以帮助理解:shellCopy code#!...脚本会检测是否已有同名的后台进程在运行,如果没有则启动程序,并将输出日志写入output.log文件中。 请注意,示例代码中使用了绝对路径,您需要根据实际情况修改路径和文件名以适配您的jar程序。
Linux 运行jar包命令如下: 方式一: java -jar shareniu.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定?...方式二 java -jar shareniu.jar & &代表在后台运行。 特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。 继续改进,如何让窗口关闭时,程序仍然运行?...nohup.out的文件中,除非另外指定了输出文件。...的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。...或者 ps -aux | grep java //关闭进程 kill -s 9 24204 24204代表上一步查出的进程ID 总结 以上所述是小编给大家介绍的Linux中jar包启动和jar包后台运行的实现方式
IDEA中进行白盒测试–java竟然也在学python 前言:今天在学习大数据中的项目的时候遇到了jar包。我之前就有看到在jdk中是有很多的jar包的。请看图如下。...jdk中jar包确实很多,怪不得我们的程序都得以来jdk才能运行。 但是没想到这一次我直接使用了单独的jar包对一个纯方法进行运行,而且还可以多次运行,不会报错。...没错,我们可以绕过main方法,不要写main方法就可以直接运行我们所写的任何方法。例如上面的代码,但是@Test一定要写,不然会识别不出来的。...右击项目, 选择new => directory : 在项目下创建新目录 lib 把需要的.jar文件复制到这个目录中 右击每一个.jar文件, 点击 “Add as Library”,...然后我们就完成了jar包的配置,接下来我们可以在想要写的模块下面自由地建立java类的文件进行愉快的白盒测试了。
看一下当前文件结构层级,目标是将新的bootstrap.properties,覆盖到 jar 包里相同结构层级中,如图所示。...因为zip文件也是有层级关系的,所以需要维护相同的层级位置,这样才能做到替换文件!.... ├── BOOT-INF │ └── classes │ └── bootstrap.properties └── 你的.jar 3 directories, 2 files zip...-u 待修改的.jar 外面的文件 里面的文件 具体示例 zip -u 待修改的.jar ....bootstrap.properties 结果 zanglikun@zanglikundeMacBook-Pro 2024-06 % zip -u archi-adapter-1.0.0.RELEASE.jar
第1种 java -jar demo.jar 用这种方法启动后,当前终端就不能继续执行其它命令了。 第2种 java -jar demo.jar & &表达的意思是在后台运行。...第3种 nohup java -jar demo.jar & nohup是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。...加了nohup后,即使关掉命令窗口,demo.jar也会一直在后台运行。...第4种 nohup java -jar demo.jar > 1.txt & 将输出重定向到1.txt文件中,即输出内容不打印到当前终端窗口上,而是输出到1.txt文件中。...第3种没有加>1.txt,它的输出重定向到nohup.out文件中,nohup.out也就是nohup命令的默认输出文件。 总结 第4种最佳 Q.E.D.
启动JAR nohup java -jar xxx.jar >temp.txt & 设置内存占用 java -jar -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize...heap pid 查看某个进程的对象占用对象最大的命令: jmap -histo pid | head -n 20 注册服务 开机自启 添加服务 新建/etc/init.d/shuatiapi.sh 文件...#JAR位置 JAR_PATH="$JAR_ROOT"shuatiapi-0.0.1-SNAPSHOT.jar #LOG位置 LOG_PATH="$JAR_ROOT"log.txt #开始方法...stop start ;; *) echo "Userage: $0 {start|stop|restart}" exit 1 esac 添加执行权限 给sh文件和...添加软连接 这一步不是必要的 我们可以把文件以软连接的方式放在服务所在目录中 ln -s /data/wwwroot/8895shuatiapi/shuatiapi.sh /etc/init.d/shuatiapi.sh
第一步,进入你的.jar的当前文件夹 cd xxx 第二步 ,编辑你指定的 .jar 文件 编辑之前请先备份 cp xxx.jar xxx-1.2.jar 输入编辑命令 vim xxx.jar...第三步,找到你要编辑的文件 输入命令进入vi模式 (esc :) ..../xxxx(搜索你指定的文件) 直接回车找到你的文件 找到之后再次回车进入编辑的文件 编辑完 wq 退出 第四步重新启动项目 java -jar xxx.jar
需求 一个 EXE 在运行过程中(被)改名了,需要准确地获取它的文件名。 尝试 原本以为这是一个非常简单的 CASE,直接用 GetModuleFileName 不就行了吗?结果还真不如我所想。...无论程序运行过程中被改名成什么样子,GetModuleFileName 返回的都是 EXE 开始运行时的名字。
要运行java的项目需要先将项目打包成war包或者jar包,打包成war包需要将war包部署到tomcat服务器上才能运行。而打包成jar包可以直接使用java命令执行。...在linux系统中运行jar包主要有以下几种方式。 一、java -jar XXX.jar 这是最基本的jar包执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行。...二、java -jar XXX.jar & &代表在后台运行,使用ctrl+c不会中断程序的运行,但是关闭窗口会中断程序的运行。...三、nohup java -jar XXX.jar & 使用这种方式运行的程序日志会输出到当前目录下的nohup.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。...三、nohup java -jar XXX.jar >temp.out & >temp.out的意思是将日志输出重定向到temp.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。
需求 一个 EXE 在运行过程中(被)改名了,需要准确地获取它的文件名。 尝试 原本以为这是一个非常简单的 CASE,直接用 GetModuleFileName 不就行了吗?结果还真不如我所想。...无论程序运行过程中被改名成什么样子,GetModuleFileName 返回的都是 EXE 开始运行时的名字。...#### after rename ###################\n\n"); OutputSelfpath(); } system("pause"); return 0; } 运行结果
领取专属 10元无门槛券
手把手带您无忧上云