JAR使用java -jar命令运行,但不能双击

时间:2014-04-16 09:55:54

标签: java jar double-click

我在stack.java文件中编写了这个程序。 class' stack'实现一个堆栈和类'测试'测试它:

class stack
{
  int top;
  int s[]=new int [5];

  public stack()
  {
    top=-1;
  }

  public void push(int a)
  {
    if(top==4)
      System.out.println("Stack already full.");
    else
    {
      top++;
      s[top]=a;
      System.out.println("Element "+a+" Pushed.");
    }   
  }

  public int pop()
  {
    if(top==-1)
    {
      System.out.print("Stack already empty. ");
      return 0;
    }  
    else
      return(s[top--]);  
  }

  public void display()
  {
    for(int i=0;i<=top;i++)
      System.out.print(s[i]+"  ");
    System.out.print("\n");
  }
}

class test
{
  public static void main(String a[])
  {
    stack obj=new stack();
    obj.push(1);
    obj.push(2);
    obj.push(3);
    obj.push(4);
    obj.push(5);
    obj.push(6);
    System.out.println("\nStack:");
    obj.display();
    System.out.println("\nRemoving Element: "+(obj.pop()));
    System.out.println("Removing Element: "+(obj.pop()));
    System.out.println("Removing Element: "+(obj.pop()));
    System.out.println("Removing Element: "+(obj.pop()));
    System.out.println("Removing Element: "+(obj.pop()));
    System.out.println("Removing Element: "+(obj.pop()));
  }
}

我使用命令编译了这个:javac stack.java 文件&#39; stack.class&#39;和&#39; test.class&#39;被创造。现在我使用命令创建了可执行文件:

jar cvfe abc.jar test test.class stack.class

jar使用命令java -jar abc.jar完美地工作,但是双击jar文件没有任何反应。 我无法弄清楚问题所在。请帮助.......

3 个答案:

答案 0 :(得分:1)

可能你错过了清单文件,或者在清单文件中没有指定入口点类(http://docs.oracle.com/javase/tutorial/deployment/jar/appman.html)。

答案 1 :(得分:0)

通常的做法是在Windows上使用.bat创建java -jar abc.jar文件,然后双击它就可以了。

答案 2 :(得分:0)

如果要双击执行批处理文件,最好创建批处理文件

  

创建.bat文件的步骤   1.打开记事本,2。编写java -cp abc.jar包名称.classname或java -jar abc.jar 3.将记事本文件另存为execute_abc.bat 4.双击execute_abc.bat文件