精华内容
下载资源
问答
  • 2021-05-10 08:28:34

    在linux服务器上用jar命令解压jar包时,提示找不到jar命令。

    但是用java -version查看jdk版本,又可以显示出jdk版本。

    echo $JAVA_HOME查看环境变量路径,找不到。

    查找jdk安装目录:

    (网上搜到的方法:https://www.linuxidc.com/Linux/2015-08/122353.htm)

    which java

    首先要申明一下which java是定位不到安装路径的。which java定位到的是java程序的执行路径。网上的资料都是人云亦云,完全不去思考。那么怎么定位到java的安装路径呢?下面我们来看看例子吧,如下所示:

    [root@localhost ~]# java -version

    java version "1.7.0_65"

    OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)

    OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

    [root@localhost ~]# which java

    /usr/bin/java

    [root@localhost ~]# ls -lrt /usr/bin/java

    lrwxrwxrwx. 1 root root 22 Aug 17 15:12 /usr/bin/java -> /etc/alternatives/java

    [root@localhost ~]# ls -lrt /etc/alternatives/java

    lrwxrwxrwx. 1 root root 46 Aug 17 15:12 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

    [root@localhost ~]#

    [root@localhost ~]# cd /usr/lib/jvm

    [root@localhost jvm]# ls

    java-1.6.0-openjdk-1.6.0.0.x86_64 java-1.7.0-openjdk-1.7.0.65.x86_64 jre jre-1.6.0 jre-1.6.0-openjdk.x86_64 jre-1.7.0 jre-1.7.0-openjdk.x86_64 jre-openjdk

    查看这些文件夹下面的内容,发现服务器只是安装了jre,并没有安装jdk,而jar命令是jdk中的,不是jre中的。

    解决办法只能安装下jdk了。

    如果安装了jdk,有jar命令,只是没加到环境变量中,可以通过以下方式进行添加。

    在/usr/bin目录下创建jar的软连接。

    [luopu@TESTWEB1_13 ~]$cd /usr/bin

    [root@TESTWEB1_13 ~]#ln -s  /opt/freeware/old/jdk1.7.0_79/bin/jar jar

    添加后,运行jar,看是否成功。

    更多相关内容
  • Linux运行jar命令

    千次阅读 2021-01-20 11:52:36
    linux运行jar包的命令 1、java -jar xxxxx.jar // 当前xshell窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 2、java -jar xxxxx.jar & //当前shell窗口不被锁定,但是当窗口关闭时,程序...

    一. linux下运行jar包的命令
    1、java -jar xxxxx.jar // 当前xshell窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

    2、java -jar xxxxx.jar & //当前shell窗口不被锁定,但是当窗口关闭时,程序中止运行。

    3、nohup Java -jar xxxxxx.jar & //意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

    二. 下面详细介绍第三种运行方式

    /*下面介绍如何关闭第三种运行的jar包程序/
    //查看进程,找到对应java程序的进程号(PID值)
    #ps -ef
    //关闭进程
    #kill -9 PID
    //centos7.3系统 直接使用入下命令也可以
    #kill PID

    nohup
    nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

    nohup 是 no hang up 的缩写,就是不挂断的意思。

    nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

    在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。
    nohup和&的区别
    & : 指在后台运行

    nohup : 不挂断的运行,注意并没有后台运行的功能,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响它的运行;

    三. linux下nohup命令的使用
    现对上面的命令进行下解释

    用途:不挂断地运行命令。
    语法:nohup Command [ Arg … ] [ & ]
    描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

    操作系统中有三个常用的流:
      0:标准输入流 stdin
      1:标准输出流 stdout
      2:标准错误流 stderr
      一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。

    下面步入正题:

    nohup ./start-dishi.sh >output 2>&1 &
    解释:

    带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);
    2>&1的意思
      这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了。 至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。这就会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的.
      这就是为什么有人会写成: nohup ./command.sh >output 2>output出错的原因了

    最后谈一下/dev/null文件的作用,这是一个无底洞,任何东西都可以定向到这里,但是却无法打开。 所以一般很大的stdou和stderr当你不关心的时候可以利用stdout和stderr定向到这里>./command.sh >/dev/null 2>&1

    展开全文
  • Linux下编译打包Java成Jar并成功执行

    千次阅读 2021-03-04 04:24:24
    1.Linux下编译Java源文件:1.1 编译命令:javac [-d] [-o] [-verbose] [-classpath][-sourcepath]-d: 指定生成的.class文件存放目录,一般省略则默认放在java源文件同一目录下;-o: 这个选项告诉javac优化内联的...

    1.Linux下编译Java源文件:

    1.1 编译命令:

    javac [-d] [-o] [-verbose] [-classpath][-sourcepath]

    -d: 指定生成的.class文件存放目录,一般省略则默认放在java源文件同一目录下;

    -o: 这个选项告诉javac优化内联的static,final以及privite成员函数所产生的码;

    -verbose:此选项告知java显示出有关被编译的源文件和任何被调用类库的信息;

    如-verbose:class能看到各种加载的信息,-verbose:gc 是garbagecollection 的信息。

    -classpath:设定编译时要用到的类路径,可以是目录,jar文件,zip文件(里面都是class文件);

    值得注意的是,此classpath可以简写为cp,当用到多个类时各类路径之间用  :  相隔。

    此项也可以省略,省略则默认使用环境变量$CLASSPATH路径。

    classpath中的内容是会覆盖掉环境变量CLASSPATH里面的设定。

    所以一般classpath的设定都是:当前目录加环境变量CLASSPATH设置目录,如

    javac  -cp .:$CLASSPATH    abc.java

    -sourcepath:设定要编译的java文件路径,可以是目录,jar文件,zip文件(里面都是java文件);

    注意,若编译的是jar包中的主类文件abc.java时,一般编译整个包javac edu.test.jar或者包文件夹javac ./edu/test。

    一般当有多个java文件需要编译时,可以逐一列出,也可以将文件名列在一个文件中,名称间用空格或者回车行来进行分隔,然后在命令行中使用该列表名,名字前冠以@字符,如:

    javac @usr/test/sourcefile.list     编译目录usr/test 下的sourcefile.list中的java文件

    1.2 说明:

    1)一般对于只有一个出口主函数main,其他java文件是以内联类的形式被主函数调用的多个java文件组成的工程来说,编译时只需要对出口主函数main所在java文件编译即可,工程中的其他java文件会自动关联编译;

    2)对于程序中调用到了第三方类或者package的情况,则一般先需要在程序文件中加入import第三方类或者jar包;

    如 import edu.test.abc 引用jar包edu.test下的abc.java,为稳妥,一般都引用整个包内文件import edu.test.*。编译时需要将jar包路径或者文件夹根目录,如edu的路径加入到classpath中。一般常把jar包或者根文件夹拷贝到当前目录下,指定classpath为.,编译器自动会从当前目录开始寻找。

    1.3 实例:

    javac -cp .:/home/Test/lib/commons-collections-3.2.2.jar -d . *.java

    2.将Java源文件打成Jar包:

    2.1 打包命令:

    jar {ctxu}[vfm0M][jar-文件] [manifest-文件] [-C 目录] 文件名

    其中 {ctxu} 是 jar命令的子命令,每次 jar 命令只能包含 ctxu 中的一个,它们分别表示:

    -c:创建新的 JAR 文件包;

    -t:列出 JAR 文件包的内容列表;

    -x:展开 JAR文件包的指定文件或者所有文件;

    -u:更新已存在的 JAR 文件包(添加文件到 JAR 文件包中);

    特别注意,在参数的下达中, c/x/t/u仅能存在一个,不可同时存在!因为不可能同时压缩与解压缩。

    -z:是否同时具有 gzip的属性?亦即是否需要用 gzip 压缩;

    -j:是否同时具有 bzip2的属性?亦即是否需要用 bzip2 压缩;

    -v:压缩的过程中显示文件!这个常用,但不建议用在背景执行过程;

    -f:指定 JAR文件名,通常这个参数是必须的;

    请留意,在 f之后要立即接档名喔!不要再加参数!

    比如:

    『 tar -zcvfP tfile sfile』就是错误的写法,

    『 tar -zcvPf tfile sfile』才是正确的写法。

    -p:使用原文件的原来属性(属性不会依据使用者而变;

    -P :可以使用绝对路径来压缩;

    -N:比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件;

    -excludeFILE:在压缩的过程中,不要将 FILE 打包;

    -m:指定需要包含的 MANIFEST清单文件;

    -0:只存储,不压缩,这样产生的 JAR文件包会比不用该参数产生的体积大,但速度更快;

    -M:不产生所有项的清单(MANIFEST〕文件,此参数会忽略-m 参数;

    [jar-文件]:即需要生成、查看、更新或者解开的 JAR 文件包,它是 -f 参数的附属参数;

    [manifest-文件]:即MANIFEST 清单文件,它是 -m 参数的附属参数

    [-C 目录]表示转到指定目录下去执行这个 jar 命令的操作,它相当于先使用 cd 命令转该目录下再执行不带 -C 参数的命令,它只能在创建和更新 JAR文件包的时候可用。

    文件名:指定一个文件/目录列表,这些文件/目录就是要添加到 JAR 文件包中的文件/目录。如果指定了目录,那么jar命令打包的时候会自动把该目录中的所有文件和子目录打入包中。

    2.2 实例:

    jar -cvf IDMatch_V1.jar *.class

    3.运行jar包:

    3.1 运行命令:

    1、java -jar xxxxx.jar

    当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出。

    2、java -jar xxxxx.jar &

    当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

    3、nohup Java -jar xxxxxx.jar &

    不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。

    3.2 实例:java -cp .:/home/Test/lib/commons-collections-3.2.2.jar:./Test.jar com.test.datahandle.Test

    展开全文
  • linux jar包相关命令

    2021-12-25 21:49:22
    启动,后台运行jar [root@VM-0-4-centos java]# nohup java -jar /home/spring_one_demo-0.0.1-SNAPSHOT.jar > spring.log 2>&1 & spring.log,是nohup的相关命令,表示将原本会打印在控制台的文件...

    启动,后台运行jar

    [root@VM-0-4-centos java]# nohup java -jar /home/spring_one_demo-0.0.1-SNAPSHOT.jar > spring.log 2>&1 &
    

    spring.log,是nohup的相关命令,表示将原本会打印在控制台的文件打印到spring.log里。该文件如果未指定路径,会在当前目录生成。
    在这里插入图片描述

    spring.log 2>&1 & 不写的话会报 忽略输入并把输出追加到"nohup.out"或者nohup

    运行成功会返回端口号
    在这里插入图片描述

    停止jar

    1找到jar的pid

    方法一:根据端口号查询(如果你知道运行端口好的话)

    netstat -nlp | grep :8081
    

    8081 正在运行我们的3368 jar 程序
    在这里插入图片描述
    方法二:查询所有jar程序,根据包的名字找pid

    ps -ef | grep java
    

    有两个jar程序,根据包的名字找到我们运行的jar,前面的3368即为pid
    在这里插入图片描述

    2 根据进程号pid,结束进程

    kill -9 3368
    

    在这里插入图片描述

    展开全文
  • Linux运行jar命令

    2021-01-07 15:58:47
    说明:用这种方法启动后,不能继续执行其它命令了,如果想要继续执行其它命令,就都打断,打断一般用ctrl+c 2.java -jar demo.jar & 第2种在第1种方式的基础上在命令的结尾增加了&,&表达的意思是在后台...
  • Linux 运行jar命令如下:方式一特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出那如何让窗口不锁定?方式二java -jar shareniu.jar &&代表在后台运行。特定:当前ssh窗口不...
  • 流程概要 rz # 使用rz或其它工具将jar包上传到服务器指定目录 ps # 查看jar包进程,并记录进程id ...nohup java -jar demo-0.0.1-SNAPSHOT.jar > server.log 2>&1 & tail # 查看启动日志 tail
  • 新手文章,若有不对之处,欢迎大佬们评论与改正,希望大家学习到东西的快乐是...前提:jar包能直接通过cmd窗口,在jar所在路径执行命令java -jar xxx.jar运行。 打成一个jar执行有要求的: 1.程序依赖包都在jar包中 2
  • linux下我们可以在后台运行jar命令。那么它的具体方法是怎样的呢?下面由学习啦小编为大家整理了linux后台运行jar命令的相关知识,希望对大家有所帮助。Linux 运行jar命令方法一[plain] view plain copyjava ...
  • 1. 使用maven工具将项目打包,生成jar包; 2. 将jar包复制到Linux系统中的某个文件夹下,此时采用xshell与xftp工具完成,如下: 3. 编写startup.sh启动程序。新建startup.sh文件,使用vim编辑如下: nohup java -...
  • 当我们用Jar命令打完包后,会在根目录下面创建META-INF目录,该目录下面会有一些对该Jar包信息的描述,其中肯定会有一个MANIFEST.MF文件,该文件包含了该Jar包的版本、创建人和类搜索路径等信息,当然如果是可执行...
  • 首先让我们来看Maven项目Backend打包指南 工程介绍 打包步骤 工程介绍 utils(工具模块) service(数据模块) billing(业务模块) 2.打包步骤 首先要打包utils模块,找到本地工作路径 列子:E:\...
  •    首先需要把pom.xml的packaging标签设置为jar,packaging这个标签决定了使用maven快捷打包打包成war包还是jar打包成war需要使用tomcat,而jar包不需要tomcat吗,但是需要jdk。 在把需要打包的项目clear...
  • 情景:把Project文件夹下的文件打包成project.war 1. 打包 jar -cvfM0 project.war /Project 说明: -c 创建war包 -v 显示过程信息 -f 指定 JAR 文件名,通常这个参数是必须的 ...使用不带任何的 jar 命令我们可以.
  • nohup java -jar projectName.jar &>projectName.log & 以守护进程不间断的运行jar程序,并且把运行日志重定向输出到projectName.log文件 ... 代表在后台运行,开启一个新的线程执行命令
  • 主要给大家介绍了关于Linux如何利用Shell脚本部署jar包项目的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • linux下的jar命令

    千次阅读 2019-08-21 09:14:26
    制作可执行的JAR文件包及jar命令详解 常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件。通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了;而另一种是使用 ...
  • 一、查看jar目录:jar tvffilename.jar二、解压包:jarxvdfilename.jar三、打包jar cvf filename.jar a.classb.class四、用一个存在的清单文件‘manifest’(文件名任意) 打包jarcvfmfilename.jarmanifesta.classb....
  • 当需要把在Windows上开发的Java程序用在Linux运行时,就需要吧该Java程序打包jar包上传到Linux上去运行。1.Java程序用MyEclipse打包成可运行jar包(1)在MyEclipse中选中需要打包的项目,点击右键,选择:Export...
  • 先是idea的jar包 ...选择你刚才点的jar包点build ...运行jar命令 java -jar xxx.jar "参数" "参数" 我的代码块需要三个参数 这是我的执行命令 fileReadRunnable.run(args[0],args[1],args[2]);...
  • 我将程序打包成了jar包,在windows下执行时正确的,但是放在linux执行就不对了。windows目录下包括jar包和一个lib文件夹,此文件夹下是需要的其他类库。linux目录是一样的结构。但是在linux执行,可以执行main,...
  • linuxjar命令与jar包

    万次阅读 2015-09-17 22:44:12
    原文链接: ... JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包。 当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成...JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好J
  • jar tvf *****.jar | grep {fileName}执行结果:> jar tvf pkpassserver-0.0.1-SNAPSHOT.jar | grep cer.p12> 3289 Tue Nov 27 16:30:46 CST 2018 BOOT-INF/classes/static/cers/cer.p12二、...
  • 打包jar -xvf project.war /project_a说明:-c 创建war包-v 显示过程信息-f 指定 JAR 文件名,通常这个参数是必须的-M 不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m 参数-0 这个是阿拉伯数字,只打包不压缩...
  • Linux运行jar

    2021-10-09 17:48:32
    打包jar包可以直接使用java命令执行。 在linux系统中运行jar包主要有以下几种方式。 一、java -jar XXX.jar 这是最基本的jar执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行。 二、...
  • nohup java -jar xxx.jar &amp;  
  • (jar的版本11.1.0.7.0,C:\Users\zwk\Desktop\ojdbc6.jar所在的位置)mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.1.0.7.0 -Dpackaging=jar -Dfile=C:\User...
  • 这样jar包就打包好了,我们进入到项目目录下去找一下jar包所在位置, 将jar包通过Xftp传入到虚拟机中 输入命令hadoop jar jar包名 主类名路径 /输入路径 /输出路径 可以参考我下面这个命令 hadoop jar hadoopStu-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,342
精华内容 15,336
关键字:

linux 运行jar命令打包