質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

2回答

6493閲覧

eclipseの実行可能jarファイルでエクスポートしてもメイン・クラスJavaを検出およびロードできませんでしたというエラーが起きます。

zeusdios

総合スコア1

JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2020/06/10 14:02

前提・実現したいこと

javaのプログラミングの練習にてeclipseを使いアプリ開発をしていて、実行可能jarファイルの作成をしたのですが、実行できません。

まだ始めたばかりの初心者なので、わからないことや知らないことが多いですがよろしくお願いします。

発生している問題・エラーメッセージ

C:\Users\Documents\program>java Java Tetris エラー: メイン・クラスJavaを検出およびロードできませんでした 原因: java.lang.ClassNotFoundException: Java

階層情報

Tetris ├ bgm ├ bin ├ img ├ se ├ src │ ├ GameMode.java │ ├ TetriMino.java │ ├ Tetris.java ←ここにMainメソッド │ ├ TitleMode.java │ ├ Window.java

メインメソッドのコードは以下の通りです。

Tetris

1import java.io.File; 2import java.io.IOException; 3import java.net.MalformedURLException; 4 5import javax.sound.sampled.AudioFormat; 6import javax.sound.sampled.AudioInputStream; 7import javax.sound.sampled.AudioSystem; 8import javax.sound.sampled.Clip; 9import javax.sound.sampled.DataLine; 10import javax.sound.sampled.FloatControl; 11import javax.sound.sampled.LineUnavailableException; 12import javax.sound.sampled.UnsupportedAudioFileException; 13 14public class Tetris { 15 static Clip bgm = createClip(new File("bgm/bgm.wav")); 16 static Clip select = createClip(new File("se/select.wav")); 17 static Clip decision = createClip(new File("se/decision.wav")); 18 static Clip setmino = createClip(new File("se/setmino.wav")); 19 static Clip count = createClip(new File("se/count.wav")); 20 static Clip start = createClip(new File("se/start.wav")); 21 static Clip down = createClip(new File("se/down.wav")); 22 static Clip move = createClip(new File("se/move.wav")); 23 static Clip round = createClip(new File("se/round.wav")); 24 static Clip shakin = createClip(new File("se/shakin.wav")); 25 static Clip don = createClip(new File("se/don.wav")); 26 static Clip tspin = createClip(new File("se/tspin.wav")); 27 static Clip tst = createClip(new File("se/tst.wav")); 28 static Clip tss = createClip(new File("se/tss.wav")); 29 static Clip gameover = createClip(new File("se/gameover.wav")); 30 static Clip hold = createClip(new File("se/hold.wav")); 31 static Clip tsd = createClip(new File("se/tsd.wav")); 32 static Clip tetris = createClip(new File("se/tetris.wav")); 33 static Clip harddrop = createClip(new File("se/harddrop.wav")); 34 static FloatControl setminovl = (FloatControl)setmino.getControl(FloatControl.Type.MASTER_GAIN); 35 static Window wn = new Window("Tetris", 550, 750 ); 36 37 public static void main( String[] args ) { 38 39 int i = 0; 40 while ( i == 0 ) { 41 if ( wn.change ) { 42 wn.getContentPane().removeAll(); 43 wn.add(wn.getJPanel()); 44 wn.setVisible(true); 45 wn.removeKeyListener(wn.getremovekey()); 46 wn.addKeyListener(wn.getkey()); 47 wn.startGameLoop(); 48 wn.change = false; 49 } 50 try { 51 Thread.sleep(100); 52 } catch (InterruptedException e) { 53 e.printStackTrace(); 54 } 55 } 56 } 57 58 public static Clip createClip(File path) { 59 //指定されたURLのオーディオ入力ストリームの取得 60 try ( AudioInputStream ais = AudioSystem.getAudioInputStream(path)) { 61 62 //ファイル形式の取得 63 AudioFormat af = ais.getFormat(); 64 65 //単一のオーディオ形式を含む指定した情報からデータラインの情報オブジェクトを構築 66 DataLine.Info dateLine = new DataLine.Info(Clip.class,af); 67 68 Clip c = (Clip)AudioSystem.getLine(dateLine); 69 70 c.open(ais); 71 72 return c; 73 } catch (MalformedURLException e) { 74 e.printStackTrace(); 75 } catch (UnsupportedAudioFileException e) { 76 e.printStackTrace(); 77 } catch (IOException e) { 78 e.printStackTrace(); 79 } catch (LineUnavailableException e) { 80 e.printStackTrace(); 81 } 82 return null; 83 } 84 85 static void controlvolume(FloatControl control,double linearScalar) { 86 control.setValue((float)Math.log10(linearScalar) * 20); 87 } 88 89}

試したこと

階層を指定する必要があると聞いたのでやってみましたがうまくできませんでした。
java Java src/Tetris

また、そもそもeclipseの実行可能jarファイルのエクスポートではMainを指定するので、ほかの要因なのかなと思いました。

補足情報

eclipse でのJREはC:\Program Files\Java\jre-9.0.4です。

またjavaのバージョンは以下の通りです。
C:\Users>java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

java -jar {出力したjarファイル}もしくはjava -classpath {出力したjarファイル} Tetrisで動かないでしょうか。 参考

投稿2020/06/10 17:00

kuuote

総合スコア705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zeusdios

2020/06/11 01:59

java -jar Tetris.jar で動かすことができました! ありがとうございます!
guest

0

Javaクラスが定義されてないようです。
なぜ

java Java Tetris

なのか不明です

java Tetris

で動くのでは?

投稿2020/06/10 14:22

mike2mike4

総合スコア935

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zeusdios

2020/06/10 15:02 編集

回答ありがとうございます それでよいのですね… 私が調べたサイトではそう書いてあった気がしました… java Tetrisと実行しても同じエラーが出ます C:\Users\Documents\program>java Tetris エラー: メイン・クラスTetrisを検出およびロードできませんでした 原因: java.lang.ClassNotFoundException: Tetris
mike2mike4

2020/06/10 15:53

私の環境で動かそうとしたら大量のエラーが出ました。 javacでコンパイルが通らないのでなんとも言えませんです。
zeusdios

2020/06/11 01:51

他クラスのソースコード載せてないのでコンパイルは通らないと思います 全てのコード載せた方がいいですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問