关于javabatcd的信息

博主:adminadmin 2022-11-24 22:51:07 76

本篇文章给大家谈谈javabatcd,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java调用bat,卡死在某一步

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

public class Test {

public static void main(String[] args) throws IOException {

Process p = Runtime.getRuntime().exec("cmd /c D:\\a.bat");

InputStream fis = p.getInputStream();

final BufferedReader br2 = new BufferedReader(new InputStreamReader(p.getErrorStream()));

InputStreamReader isr = new InputStreamReader(fis);

final BufferedReader br = new BufferedReader(isr);

Thread t1 = new Thread(){

public void run(){

String line = null;

try {

while ((line = br2.readLine()) != null) {

System.out.println(line);

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

};

Thread t2 = new Thread(){

public void run(){

String line = null;

try {

while ((line = br.readLine()) != null) {

System.out.println(line);

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

};

t1.start();

t2.start();

}

}

这样写就没问题了,API里有写:Because some native platforms only provide limited buffer size for standard input and output streams, failure to promptly write the input stream or read the output stream of the subprocess may cause the subprocess to block, and even deadlock.因为本地进程输入输出缓存有限,找不到TaReport会导致stderr输出,你不快点读取的话Process就挂在那了。

下面是输出 :

******************************************

TAReport Start, wait for a moment please!!!

******************************************

java.lang.NoClassDefFoundError: TaReport

Caused by: java.lang.ClassNotFoundException: TaReport

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)

Could not find the main class: TaReport. Program will exit.

Report has been sent, please check mail box!!!

Exception in thread "main"

bat脚本如何调用JAVA程序

bat文件内容如下:

cd arg0

java -classpath arg1 -jar arg2 arg3 arg4..

说明:

尖括号里的不是必须的,按你的具体情况来

arg0:你的class或jar文件所在目录

arg1:你需要引入的jar文件,如果你已经在window的classpath里配置过或者不需要,那这句可以去掉

arg2:java类(*.class或*.jar)文件

arg3 arg4..:若干个参数,如没有也可以去掉

前提是你安装了jdk,并配置了环境变量

Java调用bat文件 %cd%改变

试试把%cd%改成%0看。

%0是批处理本身的完整路径【包含文件名】

%~dp0 则是批处理的完整目录【不包含文件各】

为什么使用bat运行Java后出现找不到或无法加载主类

下载一个eclipse,里面有build成jar包的方法,然后也得写一个批处理去运行。

java程序一般不能写成EXE的程序。他和C不一样,生成EXE是在windows系统上编译得到的。而java是运行在虚拟机上的,不是一个层面和概念的事情。

关于javabatcd和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。