teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

画面キャプチャ追加

2020/05/07 02:57

投稿

momon-ga
momon-ga

スコア4828

answer CHANGED
@@ -48,4 +48,17 @@
48
48
 
49
49
  c:\xxxx\xxxxx>java -cp c:\vsc calapp.main.Main2
50
50
  13 7
51
- ```
51
+ ```
52
+
53
+ ---
54
+
55
+ CLASSPATHが設定されていない場合、実行ディレクトリ配下にクラス構成が一致する必要があります。
56
+ または、cpオプションでCLASSPATH指定して実行する必要があります。
57
+
58
+ ![イメージ説明](7ffc75059da9e03dc332a61351b036f1.png)
59
+
60
+ ![イメージ説明](41c4e700ec13cae81ddabb3388a0188a.png)
61
+
62
+ CLASSPATHが設定されている場合でもFQCNでクラスを指定する必要があります。
63
+
64
+ ![![イメージ説明](8fd5528fb010f1b7d6ab40e96be5fce5.png)](ed751880f418c8287e8e97d60ab4bb9d.png)

3

cpオプションについて

2020/05/07 02:57

投稿

momon-ga
momon-ga

スコア4828

answer CHANGED
@@ -31,4 +31,21 @@
31
31
  13 7
32
32
  ```
33
33
 
34
- 質問に記載されている場所に、classファイルはありますか?
34
+ 質問に記載されている場所に、classファイルはありますか?
35
+ 実行している場所とclassファイルの階層が異なる場合、以下のようにエラーになります。
36
+ ※VSC直下でなく、Cドライブ直下で実行した場合。
37
+
38
+ ```CMD
39
+ c:\>java calapp.main.Main2
40
+ エラー: メイン・クラスcalapp.main.Main2を検出およびロードできませんでした
41
+ 原因: java.lang.ClassNotFoundException: calapp.main.Main2
42
+ ```
43
+ cpオプションを使うことで、異なる階層から実行することも可能です。
44
+ が、まずは環境を正しく把握した方が良いかと思います。
45
+
46
+ ```CMD
47
+ c:\VSC>cd どこか適当なディレクトリ
48
+
49
+ c:\xxxx\xxxxx>java -cp c:\vsc calapp.main.Main2
50
+ 13 7
51
+ ```

2

treeコマンド修正

2020/05/06 23:23

投稿

momon-ga
momon-ga

スコア4828

answer CHANGED
@@ -11,8 +11,8 @@
11
11
  環境の確認をお願いします。
12
12
  treeコマンドで以下の状態であれば
13
13
  ```CMD
14
- c:\VSC>tree /F
14
+ c:\VSC>tree . /F
15
- C:.
15
+ C:\VSC
16
16
  └─calapp
17
17
  ├─main
18
18
  │ Main2.class

1

追記

2020/05/06 23:11

投稿

momon-ga
momon-ga

スコア4828

answer CHANGED
@@ -5,4 +5,30 @@
5
5
  C:¥VSC> java calapp.main.Main2
6
6
  ```
7
7
 
8
- で動くと思います。
8
+ で動くと思います。
9
+
10
+ 追記:
11
+ 環境の確認をお願いします。
12
+ treeコマンドで以下の状態であれば
13
+ ```CMD
14
+ c:\VSC>tree /F
15
+ C:.
16
+ └─calapp
17
+ ├─main
18
+ │ Main2.class
19
+ │ Main2.java
20
+
21
+ └─sub
22
+ Main3.class
23
+ Main3.java
24
+ ```
25
+
26
+ 以下のような結果がでるはずです。
27
+ ※ソースをただコピペしてコンパイルした実行結果です。
28
+
29
+ ```CMD
30
+ c:\VSC>java calapp.main.Main2
31
+ 13 7
32
+ ```
33
+
34
+ 質問に記載されている場所に、classファイルはありますか?