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

「问答」解决jar包运行时相对路径问题

我这几天需要做一个Java程序,需要通过jar的形式运行,还要生成文件。 最终这个程序是要给被人用的,可能那个用的人还不懂代码。 于是我面临一个问题:生成的文件一定不能存绝对路径。...刚开始我想得很简单,打绝对路径改成相对路径不就行了吗? 于是有了这样的代码: String path = ".....但是,放在jar包里面就不行了。 你把代码打成jar包,然后用java -jar 命令运行,你会发现,没有这个文件,不知道它生成到哪里去了。 这是为什么?我也很纳闷。...所以,我必须找到jar包运行时的路径。...最终打印出的路径是: 获取路径成功:LOCATION=/Users/maomao/Documents/eclipse/test.jar 也就是说,这个路径是包含了jar文件名在内的,使用时需要注意。

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

    使用jenkins连接linux部署jar包

    创建ssh插件 jenkins管理linux服务器是通过ssh工具连接的,所以,首先,我们要给linux服务器安装ssh。 linux安装ssh也很简单,就执行几个命令即可。...然后,创建一个自由风格的任务,如下图: 为了能运行我们的jar包,我们需要把发布好的jar包,上传到linux的/soft/app-kiba-spring-kafka/,然后创建一个startup.sh...这个java版本我们不用关心,因为这个java版本是jenkins的所在docker容器的java版本,只要让jenkins通过这个jdk能执行命令即可,实际我们的jar运行容器或者服务器,有自己的java...结语 这样,我们就完成了使用jenkins连接linux部署jar包。...当然,他还可以在上面的步骤中再加一步,构建一个docker容器,再向容器里发布jar包。 jenkin的使用非常复杂,只能靠自己慢慢摸索。

    1.3K10

    Jar 命令打包 jar包

    activation.jar (加入了Class-Path: mail.jar activation.jar,用空格分隔两个jar包) 这样我们仍然可以使用和上例中相同的命令来执行该程序: java...来分隔目录(),无论是在什么操作系统中,(即使在window中),而且这里用的是相对路径(相对于本身的JAR文 件):  Manifest-Version: 1.0 Created-By: JDJ example...5. jar包内有些配置文件想放在jar包外面,比如文件config.properties:如果这个文件是以路径方式载入的,比如new file("..../config/config.properties"),那么将config.properties放在jar包相同目录下的config目录下即可,也就是说“./”路径等价于jar包所在目录;如果这个文件是以.../config/”,然后把配置文件都放在jar包相同目录下的config目录下。

    6.8K30

    Linux服务器后台运行jar包

    转载自https://juejin.im/post/5b47411ee51d45190570ce6d 最终的运行命令: nohup java -jar xxx.jar >logs.txt & 复制代码...1.首先最基本的运行jar包命令是: java -jar xxx.jar 复制代码 这个命令会锁定命令窗口,只能看到当前运行的输出信息。而无法发送其他指令。...2.让jar包后台运行 用"&"符号结尾表示,让程序在后台运行。 这样的话,命令窗口就不会被锁定,而可以发送其他指令,但是当窗口关闭时,后台运行的程序依然会被停止。...如果不写情况下(缺省),就回默认在jar包所在目录,创建nohup.out文件。...如果忘了进程号,可以通过 ps -ef|grep xxx.jar 复制代码 来查看当前运行的jar包程序进程号。

    6.1K10

    Linux系列之查找jar包安装目录

    问题描述 最近需要改动一个项目,不过不知道安装目录在那里,所以需要通过一些linux命令进行查找安装的jar包放在那里 ---- 解决方案: 先使用ps命令 查找对应jar的进程,知道对应jar具体的...jar名称 [root@node /]# ps -elf|grep platform 4 S minstone 30516 1 0 80 0 - 1495172 futex_ 7月06...01:25:36 java -Xms512m -Xmx512m -jar platform-project.jar ps命令用于查看进程统计信息 常用参数: a:显示当前终端下的所有进程信息,包括其他用户的进程...-T:查看进程下面的子线程 在使用中可以加上grep命令一起使用,也可以单独使用 找到对应的jar包之后,使用find命令查找对应路径 find / -iname platform-projecct.jar...支持正则表达式,是linux很常见的命令,常用参数如: 参数 作用 -name 匹配名称 -perm 匹配权限(mode为完全匹配,-mode为包含即可) -user 匹配所有者 -group 匹配所有组

    4.8K30

    Linux使用Shell脚本部署jar包项目

    一.安装JDK 查看电脑的操作位数: uname -ar 2017 x86_64 x86_64 x86_64 GNU/Linux 如果这里显示是64位的就下载相应64位的包 jdk的下载地址,推荐下载...tar.gz的包 下面开始正式的安装jdk 1、上传jdk的安装包到 /root jdk-8u131-linux-x64.tar.gz 2、确认系统是否已经安装过jdk rpm -qa|grep...jdk rpm -e --nodeps 软件名称 //如果检查到有安装就执行卸载命令 3、解压缩jdk的安装包到指定目录 tar -xvf jdk-8u131-linux-x64.tar.gz...image.png app下面放置主要的jar包,如myjar,下面是相关的restart.sh的内容: #!.../app/${app_name}.jar 访问相关的路径:(这里根据你的jar的相关端口来修改 http://ip:8080/ 查看日志的路径: cd /log 这里下面会显示相关的jar包的名称和日期的

    4.1K31

    Jar 包加密

    ,来特定打开某些需要打开的包才能正常启动项目,下面的命令增加了启动参数,JAR包可以正常执行。.../encrypted.jar 3.4 拓展 如果觉得以上加密操作很麻烦,还需要编写单元测试,XJar还提供了maven插件,可以在打包的同时对jar包进行加密。...四、ClassFinal实践 4.1 功能特性 无需修改原项目代码,只要把编译好的 jar/war 包用本工具加密即可 加密后的 jar 包可直接使用命令运行 支持加密 WEB-INF/lib 或 BOOT-INF.../lib 下的依赖 jar 包 支持机器码绑定,仅允许在指定机器上运行 支持加密配置文件 4.2 使用步骤 首先点击下载,得到一个 classfinal-fatjar-1.2.1.jar 文件。...参数说明 -file 加密的jar/war完整路径 -packages 加密的包名(可为空,多个用","分割) -libjars jar/war包lib下要加密jar文件名(

    6.1K40

    Linux .sh脚本 启动、停止、重启、状态 Jar包

    包文件夹,将来运行的时候,此文件需要与jar包同级 AppName=你的jar名字.jar # JVM参数 JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia...Dspring.profiles.active=pro 指的是激活application-pro.properties配置文件 # -Dserver.port=18083 可指定运行端口 # 此变量会获取到当前路径 等价于 Linux...包,将会提示这个 if [ "$AppName" = "" ]; then echo -e "\033[0;31m 未输入应用名 \033[0m" exit 1 fi # start方法...-jar $JVM_OPTS $AppName > $LOG_PATH 2>&1 &" echo "Start $AppName success..."...包与你的.sh脚本放到同级目录 步骤2:修改上面的脚本的将 AppName 替换为Jar包名字 步骤3:在此目录下创建一个logs文件夹,如果不创建此文件夹,将不会有日志文件!

    13.6K30
    领券