繁体   English   中英

在java程序中执行jar文件

[英]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.jarin.css文件放在相对于Run类所在目录的相同目录中。

如果您使用的是默认运行配置,则只需将文件放入eclipse项目的根目录即可。 例如,这对我有用:

Test
  src
    com
      test
        Run.java
  yui.jar
  in.css

处理您的情况的更好方法是使用绝对路径或相对路径,而不是仅指定yui.jarin.css 为两个相对路径创建两个变量,然后创建命令字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM