在java程序中执行jar文件
我想创建一个java程序来使用YUI压缩css文件 我是java的新手 我的代码是:在java程序中执行jar文件,java,Java,我想创建一个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
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
处理这种情况的更好方法是使用绝对或相对路径,而不是仅在.css中指定
yui.jar
或。为两个相对路径创建两个变量,然后创建命令字符串。为什么不在代码中集成yui,如中所示?您的意思是在src目录中吗?是的,我给出的示例包是com.test,但在src中的任何位置。