- PR -

独学で勉強中なのですが、教えていただけませんか?(5つのソースファイルのコンパイルが出来ないので教え

投稿者投稿内容
ユイ
会議室デビュー日: 2005/11/24
投稿数: 15
お住まい・勤務地: 東京都
投稿日時: 2005-11-24 19:00
ソースファイル:%JAVA_LESSON%src配下
クラスファイル:%JAVA_LESSON%classes配下

以下の5つのソースファイルをコンパイルして、%JAVA_LESSON\lib 配下javalessonlib.jarとしてアーカイブして下さい。javalessonlib.jar内のPrintABCクラスを実行してください。と有るのですが、コンパイルも実行もかけられないんです。申し訳ないのですが教えていただけませんでしょうか??


---PrintChar

package lib.javalesson;

public interface PrintChar{
public void printChar();
}


---PrintCharA

package lib.javalesson;

public class PrintCharA implements

PrintChar{
public void printChar(){
System.out.print('A');
}
}

---PrintCharB

package lib.javalesson;

public class PrintCharB implements

PrintChar{
public void printChar(){
System.out.print('B');
}
}

---PrintCharC

package lib.javalesson;

public class PrintCharC implements

PrintChar{
public void printChar(){
System.out.print('C');
}
}

---PrintCharABC

package lib.javalesson;

import java.util.ArrayList;

public class PrintABC{
public static void main(String[]args){
ArrayList charlist = new ArrayList();
PrintChar printA = new PrintCharA();
charlist.add(printA);
PrintChar printB = new PrintCharB();
charlist.add(printB);
PrintChar printC = new PrintCharC();
charlist.add(printC);
System.out.println("--ライブラリの中のクラスから文字列出力--\n");
for(int i = 0;i < charlist.size();i++){
PrintChar printchar = (PrintChar)charlist.get(i);
printchar.printChar();
}
System.out.println("\n\n-------------------------")
}
}

D:\JAVA_LESSON>javac -sourcepath D:\JAVA_LESSON\src -d D:\JAVA_LESSON\classes src\lib\javalesson\PrintABC.java
エラー: lib\javalesson\PrintABC.java を読み込めません。
エラー 1 個

こうなるのですが、分かりません。もし宜しければ教えていただけませんか?


[ メッセージ編集済み 編集者: ユイ 編集日時 2005-11-24 19:15 ]

[ メッセージ編集済み 編集者: ユイ 編集日時 2005-11-25 14:17 ]

[ メッセージ編集済み 編集者: ユイ 編集日時 2005-11-25 14:20 ]
ひら
ぬし
会議室デビュー日: 2005/03/04
投稿数: 260
投稿日時: 2005-11-24 19:28
引用:

ユイさんの書き込み (2005-11-24 19:00) より:
エラー: lib\javalesson\PrintABC.java を読み込めません。
エラー 1 個



もしかしたら、javalesson\とPrintABC.javaの間にスペースが1つ必要ではないでしょうか?


[ メッセージ編集済み 編集者: ひら 編集日時 2005-11-24 19:29 ]
tanabo
常連さん
会議室デビュー日: 2003/04/24
投稿数: 34
投稿日時: 2005-11-24 19:30
PrintABCクラスのjavaファイル名が、PrintCharABC.javaになっていませんか?
publicクラスは、クラスメイトファイル名を一致させる必要があります。
ユイ
会議室デビュー日: 2005/11/24
投稿数: 15
お住まい・勤務地: 東京都
投稿日時: 2005-11-24 20:24
もしかしたら、javalesson\とPrintABC.javaの間にスペースが1つ必要ではないでしょうか?>
試しにスペースで間を作ってみたのですが、エラーになってしまいました。すみません、せっかくアドバイスをして頂いたのに。

D:\JAVA_LESSON>javac -sourcepath D:\JAVA_LESSON\src -d D:\JAVA_LESSON\classes sr
c\lib\javalesson PrintABC.java
javac: src\lib\javalesson は無効なフラグです。
使い方: javac <options> <source files>
使用可能なオプションには次のものがあります。
-g すべてのデバッグ情報を生成する
-g:none デバッグ情報を生成しない
-g:{lines,vars,source} いくつかのデバッグ情報だけを生成する
-nowarn 警告を発生させない
-verbose コンパイラの動作についてメッセージを出力する
-deprecation 推奨されない API が使用されているソースの位置を出力
する
-classpath <path> ユーザクラスファイルを検索する位置を指定する
-cp <path> ユーザクラスファイルを検索する位置を指定する
-sourcepath <path> 入力ソースファイルを検索する位置を指定する
-bootclasspath <path> ブートストラップクラスファイルの位置を置き換える
-extdirs <dirs> インストール済み拡張機能の位置を置き換える
-endorseddirs <dirs> 推奨規格パスの位置を置き換える
-d <directory> 生成されたクラスファイルを格納する位置を指定する
-encoding <encoding> ソースファイルが使用する文字エンコーディングを指定
する
-source <release> 指定されたリリースとソースの互換性を保つ
-target <release> 特定の VM バージョン用のクラスファイルを生成する
-version バージョン情報
-help 標準オプションの概要を出力する
-X 非標準オプションの概要を出力する
-J<flag> <flag> を実行システムに直接渡す


PrintABCクラスのjavaファイル名が、PrintCharABC.javaになっていませんか?
publicクラスは、クラスメイトファイル名を一致させる必要があります。>
その、調べて見たのですがクラスファイルの名前も合っているんです。何がいけないんでしょうか?やっぱり難しいですね(苦笑)
ひら
ぬし
会議室デビュー日: 2005/03/04
投稿数: 260
投稿日時: 2005-11-24 21:55
すみません、予想が外れましたね。。。

コマンドプロンプトで、
dir D:¥JAVA_LESSON¥classes src¥lib¥javalesson¥PrintABC.java
を実行してみたら、どうなりますでしょうか?

(¥は実際には半角の円マークです)


ユイ
会議室デビュー日: 2005/11/24
投稿数: 15
お住まい・勤務地: 東京都
投稿日時: 2005-11-25 10:13
おはようございます。遅くなりまして失礼致しました!
ひらさんが仰られたようにやってみたのですが、この様なメッセージが出力されました。

D:\JAVA_LESSON>dir D:\JAVA_LESSON\classes src\lib\javalesson\PrintABC.java
指定されたパスが見つかりません。

何か御解りになられますか?
tnk
会議室デビュー日: 2005/06/10
投稿数: 11
投稿日時: 2005-11-25 11:35
引用:

D:/JAVA_LESSON>dir D:/JAVA_LESSON/classes src/lib/javalesson/PrintABC.java
指定されたパスが見つかりません。


>dir D:¥JAVA_LESSON¥src¥lib¥java¥lesson¥PrintABC.java

ではどうですか?

※¥は半角¥。

【編集】
パス区切りが間違ってたので修正。手遅れですけど。。。
>dir D:¥JAVA_LESSON¥src¥lib¥javalesson¥PrintABC.java
【/編集】

# D:/JAVA_LESSON/src/lib 以下にPrintABC.javaがありませんか?
# あった場合、D:/JAVA_LESSON/src/lib/javalesson 以下に移して下さい。

## もちろん、PrintChar.java、PrintCharA.javaなども一緒に。

こちらで試してみたところ、以下のコマンドで通りました。
C:¥Path>javac -sourcepath c:¥Path¥src -d c:¥Path¥classes[半角スペース] src¥lib¥javalesson¥PrintCharABC.java

# c:¥Path¥src¥lib¥javalesson 以下にjavaファイルを配置。

[ メッセージ編集済み 編集者: TNK 編集日時 2005-11-25 15:23 ]
henachoco
常連さん
会議室デビュー日: 2005/11/21
投稿数: 29
お住まい・勤務地: 新ハンドル:t_yamo
投稿日時: 2005-11-25 11:35
#件名は問題の内容が判るようなものにした方がよいですよ。
#同じ問題で悩んでる人がこのスレッドを見つけ易くなりますので。

引用:

ユイさんの書き込み (2005-11-24 19:00) より:
D:\JAVA_LESSON>javac -sourcepath D:\JAVA_LESSON\src -d D:\JAVA_LESSON\classes src\lib\javalesson\PrintABC.java



ひとまず、同じような構成で作ってみて上記コマンドでコンパイルできました。

tanboさんの仰るように「ファイル名」(←クラス名ではなく)が「PrintABC.java」以外のものであるか、あるいは「D:\JAVA_LESSON\src\lib\javalesson」以外の場所に当該ファイルがある場合に
エラー: src\lib\javalesson\PrintABC.java を読み込めません。
と出力されるはずです。

ん。
でも、
引用:

ユイさんの書き込み (2005-11-24 19:00) より:
エラー: lib\javalesson\PrintABC.java を読み込めません。


となっているのでちょっとエラーメッセージ(srcの有無)が違いますね。
このエラーメッセージは冒頭のコマンドを実行したときのものとは別のものではないでしょうか。

あ、TNKさんと投稿が被った。


[ メッセージ編集済み 編集者: henachoco 編集日時 2005-11-25 11:42 ]

スキルアップ/キャリアアップ(JOB@IT)