繁体   English   中英

找不到主班

[英]Could not find main class

好的,所以我一直在尝试制作可执行的jar文件。 它使用命令“ java -jar bybys.jar”运行,但是当我尝试使用Enter运行它时,出现了一个错误“找不到主类bardejov.Image。程序将退出。”

这是清单:

Manifest-Version: 1.0
Created-By: 1.7.0_02 (Oracle Corporation)
Main-Class: bardejov.Image 

(是的,我换了一行)

编译jar文件时,我尝试了与目录的所有可能组合,但不知道问题出在哪里。 我用过C:\\Java\\2D>jar cfm bybys.jar Manifest.txt bardejov/Image.class bardejov/Board.class bardejov/*jpg

目录是:

META-INF/
META-INF/MANIFEST.MF
bardejov/Image.class
bardejov/Board.class
bardejov/siknius.jpg

和主类:

package bardejov;

import javax.swing.JFrame;


public class Image extends JFrame {

public Image() {

    add(new Board());

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(477, 530);
    setLocationRelativeTo(null);
    setTitle("Siknius");
    setVisible(true);
    setResizable(false);
}

public static void main(String[] args) {
    new Image();
}
}

怎么修?

UPDATE

我修好了它。 问题是我没有安装最新的JRE。

Manifest.txt中的类名fof后面有一个多余的空格字符。 错误消息提示:

Could not find the main class bardejov.Image .
                                            ^^

实际上,问题似乎在于该jar不包含目录bardejov的条目。 它包含目录中的文件只项。 您可以在列表中看到它; 看看bardejov的条目。 创建jar文件时,必须告诉jar包含目录,而不仅仅是其中的文件:

jar cfm bybys.jar Manifest.txt bardejov

从Java 6开始,您可以使用jar命令指定入口点。 以下命令应为您的应用程序创建一个可执行的jar文件:

jar cfe bybys.jar bardejov.Image bardejov/Image.class bardejov/Board.class bardejov/*jpg

您无需编写和添加自定义清单。

资源

更新

以下内容可在我的机器上使用:

example/Hello.java创建一个Java源文件:

package example;
public class Hello {
  public static void main(String[] args) {
    System.out.println("Hello world!");
  }
}

用命令编译

javac example/Hello.java

带命令的罐子

jar cfe example.jar example.Hello example/*.class

用命令执行

java -jar example.jar

输出是

Hello world!

UPDATE2

现在看起来像是配置问题。 代码和罐子显然是正确的。

快速修复/工作方法:代替直接启动jar,而是编写一个简短的批处理或shell脚本文件,该文件只需执行java -jar ...命令即可。

打开cmd提示并输入

set JAVA_HOME=c:\PATH\TO\JAVA_DIRECTORY
set CLASSPATH=.;%JAVA_HOME%\bin;%JAVA_HOME%\lib

确保也将这些变量包括在PATH环境变量中。

通过转至控制面板->系统->高级系统设置->高级选项卡->环境变量,可以获取Win7中的环境变量。

暂无
暂无

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

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