回答編集履歴

3

ソースファイルごとに分ける手順を追記

2017/10/07 05:55

投稿

keicha_hrs
keicha_hrs

スコア6768

test CHANGED
@@ -34,7 +34,21 @@
34
34
 
35
35
  ```
36
36
 
37
- と実行すれば通るはずです。
37
+ と実行すれば、2つのソースファイルがまとめてコンパイルされて通るはずです。
38
+
39
+
40
+
41
+ 或いは、
42
+
43
+ ```
44
+
45
+ C:\hoge\fuga\myproject>javac -d bin src\com\example\mysample\Sub.java
46
+
47
+ C:\hoge\fuga\myproject>javac -d bin -cp bin src\com\example\mysample\Main.java
48
+
49
+ ```
50
+
51
+ のようにソースファイルごとにコンパイルして、Main.javaのコンパイルのときには-cp(或いは-classpath)を付けて先にコンパイルしたSub.classを参照するようにしても通るでしょう。
38
52
 
39
53
 
40
54
 
@@ -55,3 +69,11 @@
55
69
 
56
70
 
57
71
  のように完全修飾クラス名で指定すれば実行できます。ここでも-cpオプションの指定は必要です。
72
+
73
+
74
+
75
+ ---
76
+
77
+
78
+
79
+ 途中で間違った回答をしたり、後から回答を追記したりしています。いろいろ右往左往して申し訳ありません。

2

回答に間違いがあった

2017/10/07 05:55

投稿

keicha_hrs
keicha_hrs

スコア6768

test CHANGED
@@ -30,13 +30,11 @@
30
30
 
31
31
  ```
32
32
 
33
- C:\hoge\fuga\myproject>javac -d bin src\com\example\mysample\Sub.java
34
-
35
- C:\hoge\fuga\myproject>javac -d bin -cp bin src\com\example\mysample\Main.java
33
+ C:\hoge\fuga\myproject>javac -sourcepath src -d bin src\com\example\mysample\Main.java
36
34
 
37
35
  ```
38
36
 
39
- と実行すれば通るはずです。-dはクラスファイルの出力先の指定、-cp(或いは-classpath)はユーザーによるクラスパスの指定になります。-cpを抜かしてしまうと、Main.javaをコンパイルしたときにSubクラスが参照エラーになってしまいます。
37
+ と実行すれば通るはずです。
40
38
 
41
39
 
42
40
 

1

修正

2017/10/07 05:30

投稿

keicha_hrs
keicha_hrs

スコア6768

test CHANGED
@@ -30,11 +30,13 @@
30
30
 
31
31
  ```
32
32
 
33
+ C:\hoge\fuga\myproject>javac -d bin src\com\example\mysample\Sub.java
34
+
33
35
  C:\hoge\fuga\myproject>javac -d bin -cp bin src\com\example\mysample\Main.java
34
36
 
35
37
  ```
36
38
 
37
- と実行すれば、2つのファイルがまとめてコンパイルされるでしょう。-dはクラスファイルの出力先の指定、-cp(或いは-classpath)はユーザーによるクラスパスの指定になります。この-cpを抜かしてしまうと、Main.javaをコンパイルしたときにSubクラスが参照エラーになってしまいます。
39
+ と実行すればはず。-dはクラスファイルの出力先の指定、-cp(或いは-classpath)はユーザーによるクラスパスの指定になります。-cpを抜かしてしまうと、Main.javaをコンパイルしたときにSubクラスが参照エラーになってしまいます。
38
40
 
39
41
 
40
42