一、获取可执行jar包所在目录 (1)方法一:使用 System.getProperty("java.class.path") 获取classpath的路径,若没有其他依赖,在cmd下运行该可执行jar...包,则该值即为该jar包的绝对路径。...= System.getProperty("path.separator");//得到当前操作系统的分隔符,windows下是";",linux下是":" /** * 若没有其他依赖,则filePath...的结果应当是该可运行jar包的绝对路径, * 此时我们只需要经过字符串解析,便可得到jar所在目录 */ if(filePath.contains(pathSplit)){ filePath =...filePath.substring(0,filePath.indexOf(pathSplit)); }else if (filePath.endsWith(".jar")) { //截取路径中的
我这几天需要做一个Java程序,需要通过jar的形式运行,还要生成文件。 最终这个程序是要给被人用的,可能那个用的人还不懂代码。 于是我面临一个问题:生成的文件一定不能存绝对路径。...刚开始我想得很简单,打绝对路径改成相对路径不就行了吗? 于是有了这样的代码: String path = "...../test.txt"; File file = new File(path); …… 这个写法本身并没有问题,直接运行代码可是OK的,可以生成与代码平级的一个text.txt文件。...最后我猜想,命令行运行与Eclipse运行之间的环境差异造成的,可能它们本身运行环境所在的目录就不一样。 所以,我必须找到jar包运行时的路径。...最终打印出的路径是: 获取路径成功:LOCATION=/Users/maomao/Documents/eclipse/test.jar 也就是说,这个路径是包含了jar文件名在内的,使用时需要注意。
而打包成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中断或者关闭窗口都不会中断程序的执行。
Spring Boot 项目访问依赖 jar 包内部的资源文件的路径问题详解 核心代码行: Resource[]resources =new PathMatchingResourcePatternResolver...org.springframework.core.io.support.ResourcePatternResolver; public class KunLunDriverManager { /** * 注册进系统的驱动列表...throw new Exception("引擎名称重复"); } registeredDrivers.put(driverName, driver); } /** * 扫classpath下的所有
摘要本文将围绕如何在 Java 中指定外部 JAR 路径展开,介绍不同的方式来加载外部 JAR,并展示其在开发和运行中的具体应用场景。...引用不在中央仓库(如 Maven Central)中的 JAR 文件。需要跨项目复用相同的 JAR 库。接下来我们将讨论如何在 Java 中通过不同方式指定这些外部 JAR 路径。...通过 MANIFEST 文件配置 JAR 路径当打包自己的 JAR 文件时,可以在 MANIFEST.MF 文件中指定所需的外部 JAR 文件路径。...Class-Path 选项指定了外部 JAR 的相对路径。...不支持自动更新和依赖冲突解决,容易出现版本兼容性问题。无法享受 Maven/Gradle 等工具带来的依赖管理和构建自动化优势。
出现项目的首页不能访问的问题: can not get file index.html express.static 问题出在哪儿?...static调用的地方,和上面一行代码很一样: app.use(express.static('public')); 到此,我已经发现了问题,我告诉小伙伴,这个地方不用相对路径可以解决这个问题。...express.static方法解析 事实上,express.static方法如果传入的是相对路径,express会自己把他转换为绝对路径,我们可以查看下源代码,在express.js找到如下代码: exports.static...回到之前的打包的问题,由于在开发阶段,一般都是直接在js文件所在目录执行node命令,所以相对目录写的是相对于当前js文件的目录没有问题。...直接使用绝对路径。 但是这个绝对路径在不同的机器上又不一样,该如何解决呢?可以考虑使用全局变量__dirname.
当我们在本地运行调试的时候是没有任何问题的,但是当我们将程序打成jar包上传到集群中后运行时,发现报错:“找不到配置文件的路径”。虽然jar中确实存在配置文件,但是还是读取不到。...相关解决方法可以参考以下相关资料: java中jar包内的类访问jar包内部的资源文件的路径问题: http://blog.csdn.net/mm_bit/article/details/50372229...获取jar包内部的资源文件: http://blog.csdn.net/luo_jia_wen/article/details/50057191 【解惑】深入jar包:从jar包中读取资源文件: http...://www.iteye.com/topic/483115 jar读取资源配置文件,jar包内包外,以及包内读取目录的方法: http://blog.csdn.net/T1DMzks/article/...details/75099029 java加载jar包下的资源文件过程及原理分析: http://blog.csdn.net/puhaiyang/article/details/77409203
第1种 java -jar demo.jar 用这种方法启动后,当前终端就不能继续执行其它命令了。 第2种 java -jar demo.jar & &表达的意思是在后台运行。...这种方式可以避免打断后程序停止的问题,但是避免不了关闭当前终端后程序停止的问题。...第3种 nohup java -jar demo.jar & nohup是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。...第4种 nohup java -jar demo.jar > 1.txt & 将输出重定向到1.txt文件中,即输出内容不打印到当前终端窗口上,而是输出到1.txt文件中。...第3种没有加>1.txt,它的输出重定向到nohup.out文件中,nohup.out也就是nohup命令的默认输出文件。 总结 第4种最佳 Q.E.D.
大家好,又见面了,我是你们的朋友全栈君。...Unable to process Jar entry [module-info.class] from Jar的问题解决 背景 解决办法 背景 在使用Eclipse进行Spring Boot应用开发时...,如果项目启动是Run As->Run On Server方式运行就会报类似于Unable to process Jar entry [module-info.class] from Jar的错误,详细错误类似如下.../tmp0/wtpwebapps/信息后面可能跟的jar文件不同。...解决办法 出现这种问题,是因为我们启动工程的方式不对造成的,Spring Boot应用要在工程右键菜单中选择Run As->Spring Boot App的方式启动,启动后的日志如下: . ____
打成jar部署后,上传文件找不到正确的文件路径,因为jar 不像 tomcat 那种有明确的文件路径 1.application.properties 添加如下一段话 #上传文件大小限制 spring.servlet.multipart.max-file-size...=500MB spring.servlet.multipart.max-request-size=500MB #jar包部署时去掉注释 #web.upload-path=h:/ #web.front-path...把 uploadFiles 拷贝到 H 盘目录下 (uploadFiles 是上传文件的目录,这个也根据自己的详情情况) 这样上传文件,都上传到H盘下的 uploadFiles 目录里面去了 3.
解压修改后再打包 解压: 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
/src/db.properties"); 2.2 web应用下加载资源文件的方法 方法一:getRealPath() 读取,返回资源文件的绝对路径 String path = this.getServletContext...:该文件在硬盘上的完整路径,一般都是以盘符开头的。...相对路径:相对路径就是资源文件相对于当前程序所在的路径。 . 当前路径 .....上一级路径 3.2 目录分隔符区别 在windows机器上的目录分隔符是 \,在linux机器上的目录分隔符是 / ,在windows上 \ 与 / 都可以使用作为目录分隔符,而且如果写 / 的时候只需要写一个即可...路径示例: ----linux---- /home/sunshine/data.txt ./ 当前目录 ../ 上级目录 ----windows---- 程序中"\"需要写成"\\" E
我们在获取文件路径时,一般使用相对路径;可能能会出现路径拼接错误问题,因为提供了./或../开头的文件。并且移植性非常差,不利于后期维护。...提供以下几种解决方式: 一,提供完整路径 fs.writeFile('E:\\node.js\\writeFile\\c.txt','大家好,我系渣渣辉啊',(err)=>{ //1,如果文件写入成功...,则err的值为null //2,如果文件写入失败,则err的值为错误对象 console.log(err) //对结果进行判断 if(err){ return console.log('文件写入失败...1='+err) } console.log('文件写入成功1='+err) }) 二,使用__dirname __dirname 表示当前文件所在的目录。.../会抵消前面的路径 const pathStr=path.join('/a','/b/c','..
二、客户端路径 超链接、表单、重定向都是客户端路径,客户端路径可以分为三种方式: 绝对路径; 以“/”开头的相对路径; 不以“/”开头的相对路径; 例如:http://localhost:.../index.html 建议使用“/” 强烈建议使用“/”开头的路径,这说明在页面中的超链接和表单都要以“/”开头,后面是当前应用的名称,再是访问路径: 链接 其中/hello是当前应用名称,这也说明如果将来修改了应用名称,那么页面中的所有路径也要修改,这一点确实是个问题...这一问题的处理方案会在学习了JSP之后讲解! 在Servlet中的重定向也建议使用“/”开头。同理,也要给出应用的名称!...例如: response.sendRedirect("/hello/BServlet"); 其中/hello是当前应用名,如果将来修改了应用名称,那么也要修改所有重定向的路径,这一问题的处理方案是使用request.getContextPath
最近在做一个项目,由于项目团队很多人,分工给我打包了一个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|
在开发中,我们能节约不少的磁盘开销能力,同步更新上传svn(只是一种)上的项目,也不用每次更新jar包,把jar包放在磁盘的某一处,项目中多次使用。...Effective POM:显示maven的编译路径,plugin之类的.也可以无视. pom.xml:导入jar包的信息,可以在其中进行修改.重要 2 两种方式添加jar包。...jar包,可以在maven中央仓库下载: 例如:添加json的jar包: 直接加入maven的pom文件即可 maven就是为了解决添加jar的问题才出现的,所以直接在pom.xml...Effective POM:显示maven的编译路径,plugin之类的.也可以无视. pom.xml:导入jar包的信息,可以在其中进行修改.重要 2 两种方式添加jar包。...jar包,可以在maven中央仓库下载: 例如:添加json的jar包: 直接加入maven的pom文件即可 maven就是为了解决添加jar的问题才出现的,所以直接在pom.xml中声明你要用的jar
1.通过vim命令直接编辑ja vim xxx.jar 该命令首先会列出全部文件,可以通过输入/abc来搜索,定位到对应的abc文件后回车进入配置文件内进行编辑,:wq保存。...方式二 通过jar命令替换jar包中的文件(也可新增) 1.列出jar包中的文件清单 jar tf genesys_data_etl-0.0.1-SNAPSHOT.ja 2.提取出内部jar包的指定文件... 4.1更新内部jar包到jar文件 jar uf genesys_data_etl-0.0.1-SNAPSHOT.jar 内部jar包.jar 5.可以查看验证是否已经更改 vim.../META-INF/MANIFEST.MF ./ 4.运行 java -jar new-genesys_data_etl-0.0.1-SNAPSHOT.ja jar命令参数: -c 创建新的存档 -f...指定存档文件名 -M 不配置配置清单,这样还可以使用maven生成的配置清单也就是MANIFEST.MF -0 不进行压缩,如果压缩会有问题 -m 指定清单文件 -t 列出归档目录 -x 从档案中提取指定的
方式一: java -jar shareniu.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定?...方式二 java -jar shareniu.jar & &代表在后台运行。 特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。 继续改进,如何让窗口关闭时,程序仍然运行?...方式三 nohup java -jar shareniu.jar & nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到...nohup.out的文件中,除非另外指定了输出文件。...fg 23 查看某端口占用的线程的pid netstat -nlp |grep :9181 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
Linux下运行jar包 首先查看将要运行的端口是否被其他java进程占用 sudo netstat -plten |grep java 如果端口存在java进程,需要终止进程,否则无法运行SpringBoot...项目. kill 进程PID Linux下进入jar包目录,使用 nohup java -jar 包名 & 命令可以将jar包运行,关闭终端不会停止,该命令会返回java进程的PID,并且在jar包目录下会生成
1、首先在jar包目录创建一个sh文件,并写上 在文件里面写上jdk环境变量 start.sh #!...:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME.../bin nohup java -jar 具体路径/ROOT.jar > /dev/null 2>&1 & 2、然后在服务器的/etc/rc.d文件夹里的 rc.local 添加上面的sh脚本 sh...具体路径/start.sh 3、重启linux reboot 测试项目 4、如果想要输出日志可以这样写 nohup java -jar 具体路径/ROOT.jar > 具体路径/log.log 2>&1
领取专属 10元无门槛券
手把手带您无忧上云