0

経由でjavaprojektを実行しようとしました

java -jar myproject.jar

そして得た:

Failed to load Main-Class manifest attribute from myproject.jar

どうすればいいの?Netbeans を使用して、ほぼ箱から出して瓶を取り出しました

わかりました、マニフェスト ファイルのように見えるものを見つけたので、以下に示します。

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: someone
Build-Jdk: 1.7.0_25

わかりましたので、ここにクラスがあります:

public class Starter {

    private static Control c;

    /**
    *
    * @param 
    */
    public static void main(String [ ] args) {
        Control c = new Control();
    }

    public static Control getC() {
        return c;
    }
}

ただし、瓶を無視しても、試してみると

java -cp myproject.jar control.Starter

classNotFoundException が発生します

ただし、Netbeans 内から開始すると問題なく動作します。

どうやら、最初にプロジェクトを作成したときに、main を含むデフォルト クラスを取得したようです。私は今、そのクラスを削除し、クリーンアップして再度ビルドしました。

これは、マニフェストが次のようになったことを意味します。

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: someone
Build-Jdk: 1.7.0_25
Main-Class: default.Starter

1 つには、Starter がパッケージのデフォルトではなく、明らかにパッケージ コントロールにあるため、これがどのように発生したのか疑問に思います。

別の場合、私はまだ得ます:

  Failed to load Main-Class manifest attribute from myproject.jar

誰かが私を助けることができますか?

さて、java -cp などでコンパイルしようとすると、例外が発生します。

 Exception in thread "main" java.lang.UnsupportedClassVersionError: control/Starter : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: control.Starter. Program will exit.

誰かが私にこれだけ答えてもらえますか?

これは通常、プロジェクトのバグですか、それとも他の場所のバグですか? つまり、おそらく正しいパスを使用して、同じプロジェクトを別のコンピューターでビルドしようとすると、成功する可能性が高くなりますか? 実行可能なjarにすることができないコードを書くことができた可能性はありますか?

4

2 に答える 2