[英]execute jar file in java program
我想创建一个java程序来使用YUI压缩css文件我是java中的新学习者。
我的代码是:
import java.io.BufferedInputStream;
import java.io.IOException;
public class Run extends Object
{
public static void main(String args[]) throws IOException, InterruptedException
{
System.out.println("Calling jar");
Process p = Runtime.getRuntime().exec("java -Xmx32m -jar yui.jar in.css");
BufferedInputStream bis = new BufferedInputStream(p.getInputStream());
synchronized(p)
{
p.waitFor();
}
System.out.println(p.exitValue());
int b = 0;
while((b = bis.read()) > 0)
{
System.out.print((char)b);
}
System.out.println("Called jar");
}
}
命令:
java -Xmx32m -jar yui.jar in.css
在cmd中运行正常,但是当我运行上面的程序时,我没有得到输出,我得到的输出是:
Calling jar
1
Called jar
请告诉我我做错了什么或者这样做的正确方法是什么。
你得到“1”,因为在流中没有任何东西可读。
我猜你正在尝试从Eclipse或其他IDE运行该文件。 如果是这样,您需要将yui.jar
和in.css
文件放在相对于Run
类所在目录的相同目录中。
如果您使用的是默认运行配置,则只需将文件放入eclipse项目的根目录即可。 例如,这对我有用:
Test
src
com
test
Run.java
yui.jar
in.css
处理您的情况的更好方法是使用绝对路径或相对路径,而不是仅指定yui.jar
或in.css
。 为两个相对路径创建两个变量,然后创建命令字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.