質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

2回答

21527閲覧

コマンドプロンプトでパッケージ内のjavaファイルを実行する方法

RyotaKiyozawa

総合スコア12

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1グッド

1クリップ

投稿2015/12/14 01:28

編集2022/01/12 10:55

コマンドプロンプトでパッケージ内のjavaファイルを実行する方法について教えてください。
同じディレクトリ内から、コマンドプロンプト画面でクラスファイルを指定して実行するとエラー(クラスファイルが見つからない。)となり、1つ上のディレクトリから位置を指定してクラスファイルを実行すると正常に動作します。

これは、システムの仕様でしょうか?
もしくは、正常に同一ディレクトリ内からクラスファイルを実行できる方法が分かれば、教えていただけないでしょうか?

■ディレクトリの構造は以下のようにしています。

C:\test\Test.java

C:\test\Test.class

■パスの設定は以下のようにしてます。

【classpath】C:\test;.; 以降は他のパス

※ユーザー環境変数および、システム環境変数共に設定しています。

■実際の画面
コマンドプロンプト画面

Sharifa👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

クラスパスに設定すべきディレクトリはotnさんの書かれているとおりですが、もう少し補足しておきますね。

javaコマンドの引数に指定するのは実行するクラス名です。このクラス名というのは、今回の場合、Testではなく、パッケージ名も含めたtest.Testになります(ちなみにこの表記をFQCN(Fully Qualified Class Name)といいます)。

また、javaコマンドでは、クラスパスが明示的に指定されていなければ(環境変数に指定しない、引数に指定しない)、カレントディレクトリ(自分がいるディレクトリ)がクラスパスに設定されます。

ですので、今回のようなファイルをコンパイル・実行する場合には次のように説明されることが多いです。

> cd /d C:¥ > javac test/Test.java > java test.Test

混乱しやすいのですが、javacコマンドに指定しているtest, Test.javaはディレクトリ名であったりファイル名であったりしてWindowsの(ファイルシステムの)話です。
他方で、javaコマンドに指定している testTestは(OSのファイルシステムとは無関係な)Javaのパッケージ名、クラス名です。

投稿2015/12/14 07:22

編集2015/12/14 07:29
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RyotaKiyozawa

2015/12/16 06:26

詳しいご説明ありがとうございます。 ファイル名…javaコマンドの引数なんですね。 また、新たな発見がありました。
guest

0

パッケージ内のjavaファイル

ということは、package test;としていると言うことでしょうか。その場合は、Test.classじゃなくてtest/Test.classというファイルを探すので、C:\testでなくC:\をCLASSPATHに追加して下さい。

投稿2015/12/14 02:09

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RyotaKiyozawa

2015/12/14 02:30

ご回答、本当にありがとうございます。 アドバイスいただいた方法でうまく実行できました。 独学で勉強していて、この状況に陥り…一旦はeclipseを使うのでスルーしていたものの。 やはり、この理解不足が将来致命的な知識の欠落などにつながるのではないかと、スクールでも、他のWEBでも聞いてみていましたが、分からず困っていました。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問