回答編集履歴

1

コンパイル方法および実行方法を追記

2018/10/02 07:42

投稿

dice142
dice142

スコア5158

test CHANGED
@@ -11,3 +11,67 @@
11
11
  ・コンパイルが正常に完了している
12
12
 
13
13
  ・実行時のコマンドが`java calcapp.main.Calc`である
14
+
15
+
16
+
17
+ ---
18
+
19
+
20
+
21
+ [コメントのコンパイル方法などを拝見して追記]
22
+
23
+
24
+
25
+ コンパイル後のクラスファイルはパッケージと同じディレクトリ構造の場所に置かないといけません。
26
+
27
+ `エラー:メイン・クラスCalc(もしくは完全限定クラス名)が見つからなかったかロードできませんでした`
28
+
29
+ というエラーはそれが守られていないために起きます。
30
+
31
+
32
+
33
+ どういう手順でコンパイルおよび実行すればよいのか2パターン書きます。
34
+
35
+
36
+
37
+ ### Javaファイルがプロジェクトルート(calcapp/ が置いてあるディレクトリ)にある状態
38
+
39
+
40
+
41
+ 1. `javac Calc.java CalcLogic.java`でコンパイルします
42
+
43
+ 1. `Calc.class`と`CalcLogic.class`が生成されます。(ここまではやっていた手順と同じ)
44
+
45
+ 1. 生成された`Calc.class`を`calcapp/main/`に移動します。
46
+
47
+ 1. 生成された`CalcLogic.class`を`calcapp/logics/`に移動します。
48
+
49
+ 1. `java calcapp.main.Calc`で実行します。
50
+
51
+
52
+
53
+ この手順は修正のたびにファイルの移動が行われるので、非効率です。
54
+
55
+ 実際は次のパターンのように指定のディレクトリにjavaファイルを置いた状態で行うと良いでしょう。
56
+
57
+
58
+
59
+ ### Javaファイルがパッケージ通りのディレクトリにある状態
60
+
61
+
62
+
63
+ 1. `calcapp/main/Calc.java`と`calcapp/logics/CalcLogic.java`がある状態で
64
+
65
+ `javac calcapp\main\Calc.java`でコンパイルします。(`.`ではないので注意)
66
+
67
+ 1. `calcapp/main/Calc.class`と`calcapp/logics/CalcLogic.class`が生成されます。
68
+
69
+ 1. `java calcapp.main.Calc`で実行します。
70
+
71
+
72
+
73
+ 注意点としてはコンパイル時は`\`(linux系は`/`)、実行時は`.`でパッケージ(ディレクトリ)を表すことです。
74
+
75
+
76
+
77
+ どちらかの方法でやってみてください。