- - PR -
他のjavaファイル呼び出し
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-10-12 17:02
過去ログのhttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=20997&forum=12&start=0
を見てもわからなかっため教えていただけないでしょうか? package classes; class TestA{ public static void main(String[]args){ TestB tb=new TestB(); } } package classes; class TestB{ void TestB(){ } } TestBはうまくいきます ディレクトリはそれぞれ d:classes/TestA d:classes/TestB 実行コマンドはそれぞれ (うまくいかなかったやつ) C:\>cd /d d: D:\>javac classes\TestA d:classes\TestA.java:6:シンボルが解決できません シンボル:クラス TestB 場所:classes.TestAのクラス TestB tb=new TestB(); ^ d:classes\TestA.java:6:シンボルが解決できません シンボル:クラス TestB 場所:classes.TestAのクラス TestB tb=new TestB(); ^ [ メッセージ編集済み 編集者: kセイバー 編集日時 2005-10-12 17:07 ] [ メッセージ編集済み 編集者: kセイバー 編集日時 2005-10-12 17:09 ] [ メッセージ編集済み 編集者: kセイバー 編集日時 2005-10-12 17:10 ] [ メッセージ編集済み 編集者: kセイバー 編集日時 2005-10-12 19:10 ] | ||||||||
|
投稿日時: 2005-10-12 17:28
環境変数 CLASSPATH に D:\classes を追加してみてはいかがかと。
D:\classes 配下に include したい hoge.class があるとして C:\>set CLASSPATH=D:\classes;%CLASSPATH% C:\>java ....... [ メッセージ編集済み 編集者: もしもし 編集日時 2005-10-12 17:28 ] | ||||||||
|
投稿日時: 2005-10-12 17:49
返信ありがとうございます。
classpathに言われたとうりの変更をしてもエラー内容は変わりませんでした。 すみません。 [ メッセージ編集済み 編集者: kセイバー 編集日時 2005-10-12 17:49 ] | ||||||||
|
投稿日時: 2005-10-12 18:04
構成が下記のようになっていると仮定して。
---構成--------------------- D:\classes\TestA.java D:\classes\TestB.java ---------------------------- 下記コマンドを実行。 javac -classpath D:\ classes\TestA.java コレでコンパイルできませんか? 出来た場合は CLASSPATH に関する勉強を行ってみては如何でしょうか。 [編集] 仮定の構成を私の環境で作成し、私が実行したコマンドプロンプトの表示内容 C:\>cd /d d: D:\>javac -classpath D:\ classes\TestA.java D:\> コンパイルできてるんですけどね〜。 [/編集] [ メッセージ編集済み 編集者: 七誌 編集日時 2005-10-12 18:36 ] | ||||||||
|
投稿日時: 2005-10-12 18:28
返信いただきありがとうございます
環境変数もちゃんと変化しているのに、うまくいきません。 javac -classpath D:\ classes\TestA.java を実行すると。 javac:ソースファイルがありません。 と出ます。 すみません。 お願いします。 [ メッセージ編集済み 編集者: kセイバー 編集日時 2005-10-12 18:29 ] | ||||||||
|
投稿日時: 2005-10-12 18:37
こんな感じ?
C:\classes\TestA.java ------------------------------------
---------------------------------------------------------- D:\classes\TestB.java ------------------------------------
---------------------------------------------------------- -- TestB.java を先にコンパイル D:\>javac -classpath . classes\TestB.java -- 次に TestA.java をコンパイル C:\>javac -classpath .;D:\ classes\TestA.java -- 実行 C:\>java -cp .;D:\ classes.TestA TestB [ メッセージ編集済み 編集者: もしもし 編集日時 2005-10-12 18:38 ] [ メッセージ編集済み 編集者: もしもし 編集日時 2005-10-12 18:40 ] | ||||||||
|
投稿日時: 2005-10-12 18:56
すみません、cドライブの実行とdドライブの実行は違うPC
でして、ノートPC側(dドライブで実験した側)とデスクトップ側(cドライブで実験した側) が混ざって変になったので書き直します エラーが出るのはノートPC側で d:classes\TestA.java package classes; class TestA{ public static void main(String[]args){ TestB tb=new TestB(); } } d:classes\TestB.java package classes; class TestB{ void TestB(){ } } 出るエラーは d:classes\TestA.java:6:シンボルが解決できません シンボル:クラス TestB 場所:classes.TestAのクラス TestB tb=new TestB(); ^ d:classes\TestA.java:6:シンボルが解決できません シンボル:クラス TestB 場所:classes.TestAのクラス TestB tb=new TestB(); ^ cドライブ(ノートPC側)にコピーしてやっても同じ結果が出ました 環境変数はちゃんと変えてあります。(ノートPC側) デスクトップ側うまくいきます。 ややこしくてすみません [ メッセージ編集済み 編集者: kセイバー 編集日時 2005-10-12 18:58 ] [ メッセージ編集済み 編集者: kセイバー 編集日時 2005-10-12 18:59 ] [ メッセージ編集済み 編集者: kセイバー 編集日時 2005-10-12 19:00 ] | ||||||||
|
投稿日時: 2005-10-12 19:18
会社の環境の為、家に帰ります。
明日、レスがあった場合返事します。 |