我收到错误:尝试打开文件 Hola.jar 时发生意外错误

Oma*_*llo 5 java jar

我正在使用Linux ubuntu,我创建了一个名为hola.java的java程序,它是以下程序代码,该程序运行良好

import javax.swing.*;
import java.awt.*;

public class hola extends JFrame {

JButton b1 = new JButton("presionar");

 hola(){

  super("Botones");
  setSize(250,250);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  FlowLayout flo=new FlowLayout();
  setLayout(flo);
  add(b1);
  setVisible(true);

  }

  public static void main(String[] args)
 {


    hola bt = new hola();
   }

}
Run Code Online (Sandbox Code Playgroud)

这个java程序在运行时工作得很好现在我在命令行中使用创建了这个程序的jar文件:

jar cf hola.jar hola.class

这将创建一个名为 hola.jar 的 Jar 文件

我什至在manifest.mf文件中写了Main-Class: Hola。

当我尝试通过以下方式运行它时:

java -jar hola.jar

我收到错误:An unexpected error occurred while trying to open file hola.jar

请告诉我如何运行 jar 文件以便获得输出:'(,我无法将此程序作为 jar 文件运行的可能原因是什么,即使该程序使用“java Hola.java”完美运行

Bal*_*ngh 1

要运行 jar 文件中的 java 文件,不需要打开它。您只需要确保您的类路径具有给定的 jar 文件

如果该类位于包内,那么您可以使用以下命令运行

java -cp hola.jar package.hola
Run Code Online (Sandbox Code Playgroud)

如果该类不在包中,则只需使用

java -cp hola.jar hola
Run Code Online (Sandbox Code Playgroud)

如果您不在hola.jar所在的目录中,那么您可以尝试以下操作:

  • 如果是内包装

    java -cp /locationOfJar/hola.jar package.hola

  • 或者如果包装中没有

    java -cp /locationOfJar/hola.jar hola