Linux搜索jar命令 linux运行jar包找不到主方法

linux安装jar命令linux系统下jar是随着jdk安装的Linux搜索jar命令,所以安装jar其实很容易 。下面由我为大家整理了linux下安装jar命令的相关知识,希望大家喜欢!
linux下安装jar命令
jar是随着jdk的安装的 。在jdk安装的目录下有bin目录中,windows下的文件名为jar.exe,linux下文件名为jar.它的运行需要用到jdk安装目录下lib目录中的tools.jar.
jar文件在linux下的安装命令
首先安装java 的jdk..并设置 java environment.
then the order is: [root@localhoat root]# java -jar /the directory and file name, include .jar
附:linux下jar命令用法详解
jar的用法:
jar{ctxu}[vfm0M][jar-文件][manifest-文件][-c 目录] 文件名 。。。
{ctxu}是jar命令的子命令,每次jar命令中只可以包含一个ctxu中的一个,分别表示:
-c创建新的jar文件包 --常用于打包
-t列出jar文件包的内容列表
-x展开jar文件包的指定文件或者所有文件--常用于解开包
-u更新已经存在的jar文件包
[vmf0M]中可以选,也可以不选,是jar命令的选项参数:
-v生成详细报告并打印到标准输出
-f指定jar文件名,这个参数是必须的
-m指定需要包含的manfest清单文件
-0只存储不压缩 , 速度快
-M不生成所有的清单文件
经常组合使用 cv0Mf/xvMf
【Linux搜索jar命令 linux运行jar包找不到主方法】补充:linux下运行jar包命令
java -jar xxxx.jar
Linux平台通过以下命令执行jar文件 。# java -jar file.jar
linux下执行jar文件方法:命令行下进入文件目录,执行java -jar file.jar即可,也可在桌面创建一个启动器,在命令栏填写相关的命令:java -jar /file路径/file.jar,这样在桌面双击即可打开该jar文件 创建可执行的 JAR 文件包详解:JAR 文件就是...
linux下执行jar文件方法:命令行下进入文件目录 , 执行java -jar file.jar即可 , 也可在桌面创建一个启动器,在命令栏填写相关的命令:java -jar /file路径/file.jar,这样在桌面双击即可打开该jar文件 创建可执行的 JAR 文件包详解:JAR 文件就是...
java -jar test.jar
在linux命令行下对jar进行解压缩操作,比如有个jar包/usr/local/EtnetChinaApplication.jar #解压jar包到临时目录cd /usr/localunzip EtnetChinaApplication.jar -d app#进入临时目录app,编辑文件ls app ...... log4j.properties xmemcache.prope...
java -jar xxxx.jar
nohup java -jar 启动1.jarnohup java -jar 启动2.jarnohup java -jar 启动3.jar
这个shell脚本的话应该只会影响当前的窗口,运行完程序后把窗口关闭,再新开窗口,Linux搜索jar命令你的JDK应该还是1.4的 如果不行的话,那就运行完程序,再export一遍1.4的JDK 只对当前窗口有影响 , 换用户或者新开窗口都会变成1.4
不用用-cp, 有运行jar的-jar吧?或者jar 加什么 , Linux搜索jar命令你想Linux搜索jar命令你要的库和主方法都在一个jar里 , 一般用不到-cp吧,除非你用到别的类库不在jar里 。
怎么用linux命令获取某文件夹下的所有jar文件并将jar文件中类名相同的.class文件挑出,放在一个文件夹里find /目录1 -name '*.jar' -exec jar -xvf {} /目录2 \;
find /目录2/ -name '*.class' -exec cp {} /目录3 \;
目录1是要查找的目录,目录2是临时存放解压文件的目录 , 目录3是要放文件的目录,之后如果不要目录2的再rm -rf /目录2 就搞定了
linux下如何查找当前目录下所有jar包中包含AAA内容的class文件名试试这个:find . -name "*.jar"|awk '{print "jar -tvf "$1}'|sh|grep AAA
补充:题主的问题不解开jar包用命令解决不了,上述命令仅用于查找jar包中class文件名称包含AAA关键字的,而不是内容,下面的命令可以输出jar包名称及其含有AAA关键子名称的class文件:
find . -name "*.jar"|while read name; do echo file:$name;jar -tvf $name|grep AAA; done
另:在windows下当你双击打开jar包,然后双击class文件查看其内容 , 也是临时解压后打开的,所以要查看jar包中class文件的内容,你不解开怎么能做到呢?
要达到题主的目标,只能解开 , 方法如下:
编辑一个shell脚本,名称随意,如findAAA.sh,内容如下:
#!/bin/bash
find path -name "*.jar"|while read jarname#这里path修改为你要在哪个目录下查找jar及class文件
do
echo "Processing jar-file:$jarname"
mkdir /tmp/jartmp#临时解开放置的目录
cd /tmp/jartmp
jar -xf $jarname
find . -name"*.class"|while read cname
do
findflag=$(strings $cname|grep AAA)#class文件都是二进制的,用strings查看
if [ "$findflag"x != x ];then
echo "Class File: $cname include keyword AAA"
fi
done
rm -rf /tmp/jartmp#删除临时文件
done
编辑好脚本后 , sh findAAA.sh执行即可 。
在linux下,如何搜索jar文件中包含了哪些方法(1)用WinRAR打开
(2)找到想知道类和方法的class
(3)反编译javap -c Class文件名
不能加class后缀
linux解压jar包命令JAR包是Java中所特有一种压缩文档,我们可以通过相关命令解压jar包 , 下面由我为大家整理了linux下解压jar包命令的相关知识,希望对大家有所帮助 。
一、linux解压jar包命令——jar命令详解
jar命令选项:
jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目录]文件名...
其中{ctxu}这四个选项必须选其一 。[v f m e 0 M i ]是可选选项,文件名也是必须的 。
-c 创建一个jar包
-t 显示jar中的内容列表
-x 解压jar包
-u 添加文件到jar包中
-f 指定jar包的文件名
-v 生成详细的报造,并输出至标准设备
-m 指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)
-0 产生jar包时不对其中的内容进行压缩处理
-M 不产生所有文件的清单文件(Manifest.mf) 。这个参数与忽略掉-m参数的设置
-i 为指定的jar文件创建索引文件
-C 表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令
二、linux解压jar包命令——jar使用范例
(1)创建jar包
$ jar cf hello.jar hello 利用test目录生成hello.jar包,如hello.jar存在,则覆盖
(2)创建并显示打包过程
$ jar cvf hello.jar hello 利用hello目录创建hello.jar包,并显示创建过程
例:E:\jar cvf hello.jar hello
标明清单(manifest)
增加:hello/(读入= 0) (写出= 0)(存储了 0%)
增加:hello/TestServlet2.class(读入= 1497) (写出= 818)(压缩了 45%)
增加:hello/HelloServlet.class(读入= 1344) (写出= 736)(压缩了 45%)
增加:hello/TestServlet1.class(读入= 2037) (写出= 1118)(压缩了 45%)
(3)显示jar包
$ jar tvf hello.jar 查看hello.jar包的内容
指定的jar包必须真实存在 , 否则会发生FileNoutFoundException 。
(4)解压jar包
$ jar xvf hello.jar 解压hello.jar至当前目录
(5)jar中添加文件
$ jar uf hello.jar HelloWorld.java 将HelloWorld.java添加到hello.jar包中
(6)创建不压缩内容jar包
$ jar cvf0 hello.jar *.class 利用当前目录中所有的.class文件生成一个不压缩jar包
(7)创建带manifest.mf文件的jar包
$ jar cvfm hello.jar manifest.mf hello
创建的jar包多了一个META-INF目录,META-INF止录下多了一个manifest.mf文件,至于manifest.mf的作用,后面会提到.
(8)忽略manifest.mf文件
$ jar cvfM hello.jar hello 生成的jar包中不包括META-INF目录及manifest.mf文件
(9)加-C应用:
$ jar cvfm hello.jar mymanifest.mf -C hello/
表示在切换到hello目录下然后再执行jar命令
(10)-i为jar文件生成索引列表
当一个jar包中的内容很好的时候,你可以给它生成一个索引文件 , 这样看起来很省事 。
$ jar i hello.jar
执行完这条命令后 , 它会在hello.jar包的META-INF文件夹下生成一个名为INDEX.LIST的索引文件 ,
它会生成一个列表,最上边为jar包名 。
(11)导出解压列表
jar tvf hello.jar hello.txt
如果你想查看解压一个jar的详细过程,而这个jar包又很大,屏幕信息会一闪而过,
这时你可以把列表输出到一个文件中,慢慢欣赏!
(12)jar -cvf hello.jar hello/*
例如原目录结构如下:
hello
|---com
|---org
你本想只把com目录和org目录打包,而这时jar命令会连同hello目洋也一块打包进 。
这点大家要注意 。jar命令生成的压缩文件会包含它后边出的目录 。我们应该进入到hello目录再执行jar命令 。
注意:manifest.mf这个文件名,用户可以任指定,但jar命令只认识Manifest.mf,它会对用户指定的文件名进行相应在的转换,这不需用户担心 。
三、linux解压jar包命令——JAR命令使用技巧
(1) jar创建压ZIP文件
jar cvfM TestZIP.jar test 加M参数为了不生成META-INF相关内容
然后将TestZIP.jar改为TestZIP.zip就可以,是不是很简单....
(2) 使用WinRAR解压.jar文件
上边我们已经说过了,说JAR文件是一种特殊的压缩文件,所以它当然可以用我们常用的一些解压缩工具来解了,
至于怎么解,这就不用我说了吧 。
(3) 用WinRAR生成.jar文件
我们已经说过JAR包与ZIP包主要区别就是JAR包中多一个META-INF的目录 ,
META-INF目录下有一个manifest.mf文件,我们只要建立好相关的目录一压缩就可以了 。
目录的结构如下:
TestJar
|--META-INF
|--manifest.mf
|--相关的类文件
注意:还应该在manifest.mf填写内容,不会写?照着一个已有的抄不就行了
linux 查找文件在哪个jar包(1)用WinRAR打开 (2)找到想知道类和方法的class (3)反编译 javap -c Class文件名 不能加class后缀
关于Linux搜索jar命令和linux运行jar包找不到主方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读