两种方式
1,执行java class名字,class是jar里的main class,这种指定了classpath就行,不需要关心路径。
2,java -jar /root/java/testjar
进入jar文件其实没有说的那么困难,jar文件本质是一个zip格式的压缩文件,只是把文件后缀名改了,要用Java读取里面的文件也没有那么想象的那么困难。使用相关协议就可以:
例如:c盘根目录有一个testjar文件文件里面有个atxt文件我们就读取这个atxt文件
文件对应的URL:
jar:file:/C:/testjar!/atxt
Java代码:
import javaioIOException;
import javaioInputStream;
import javanetURL;
public class TestDouble {
public static void main(String[] args) throws IOException {
URL url=new URL("jar:file:/C:/testjar!/atxt");
Systemoutprintln(url);
InputStream is=urlopenStream();
byte b[]=new byte[1000];
isread(b);
Systemoutprintln(new String(b)trim());
}
}
不是很清楚你到底是从直接将jar中文件解压出来还是通过Java将jar文件中的文件复制出来,如果是想直接解压出文件用winrar就可以了,要用Java复制看下面这个测试,基本上和复制文件差不多:
import javaio;
import javanetURL;
public class CopyFile {
public static void copyFormJar(String fileUrl, String dest )
throws IOException
{
int BUFF_SIZE = 100000;
byte[] buffer = new byte[BUFF_SIZE];
InputStream in = null;
OutputStream out = null;
URL url=new URL(fileUrl);
try
{
in = urlopenStream();
out = new FileOutputStream( dest );
while ( true )
{
synchronized ( buffer )
{
int amountRead = inread( buffer );
if ( amountRead == -1 )
{
break;
}
outwrite( buffer, 0, amountRead );
}
}
}
finally
{
if ( in != null )
{
inclose();
}
if ( out != null )
{
outclose();
}
}
}
public static void main(String[] args) throws IOException {
args=new String[2];
args[0]="jar:file:/C:/testjar!/atxt";
args[1]="c:/testtxt";
CopyFilecopyFormJar(args[0], args[1]);
}
}
1、IDEA开发工具,项目使用maven打包命令打包,打包成功后在项目target目录下可以看到项目的jar包。
1、打开jar包所在位置,点击地址栏,直接输入cmd,打开命令行窗口。
2、在cmd中输入运行指令
注:以上demo基于SpringCloud的maven项目
1、停止运行,快捷键 ctrl+c 命令
通常情况下项目可以打成jar包、war包、pom包,可根据不同情况选择打包方式。以上是我对遇到的同时启动多个应用问题的解决方案。伙伴们如有更好的方案,望不吝赐教
以上就是关于java怎么执行任意路径的jar包全部的内容,包括:java怎么执行任意路径的jar包、怎样从JAR文件中读取文件、(004)cmd,运行jar包等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)