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

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

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

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

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

Q&A

3回答

2414閲覧

javaコマンドでディレクトリを指定したい。

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

0グッド

0クリップ

投稿2021/09/04 05:53

提示コマンドですがコンパイルした後に実行する際にbinディレクトリに入っている.classファイルのMainを参照したいのですがどうやってコマンドを指定するのでしょうか?.bashファイルを書いています。

参考サイト: https://qiita.com/maple_syrup/items/ce0d839624b56edcaaa5
参考サイト: https://java-code.jp/53

java bin/Main

.bashコマンド

#!/bin/bash javac src/*.java -d bin java bin/Main

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

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

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

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

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

guest

回答3

0

クラスパスを指定して下さい。

sh

1java -cp bin Main

投稿2021/09/04 06:56

LouiS0616

総合スコア35668

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

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

0

まず、カレントディレクトリ、そしてパスこの二つが分かっていないと、どんな丁寧な説明をしても無駄です。
だって前提知識が欠けているから。

なので、「UNIX カレントディレクトリ とは」とかで検索しましょう

プログラマやSEは『考える事』と「調べる事」が仕事です。

プログラマでないとしても、IT関係でやる以上、絶対です。
(ましてやUNIX系って余程のことが無い限り使わないでしょ)

カレントディレクトリやパスの説明は他のサイトに譲ります。

とりあえず、現在のカレントディレクトリを調べてみてください。

pwdコマンドを使うようです。

現在のカレントディレクトリがbinディレクトリがある場所で、そのサブディレクトリとして
binがあるというのなら、

$ java bin/Main

でイケるはずです。(ファイル名は読みかえてください)

つまり、現在位置から bin/Main.class が見えるのならそのまま指定すればいいだけです。

でも、まったく別のところ ( 例1: /bin/javatest/sample, 例2: /test1/test2 ) だと、
そもそも呼び出せません。

相対パスやファイル名だけの場合、「カレントディレクトリにあるもの」か、
パスが通っているところ」しかできません。

なので、

方法1: クラスパスを指定する $ java -classpath <Mainクラスがあるディレクトリ> Main

または、

方法2: パスを通す Main.class がある binディレクトリまでの絶対パスとかでパスを通し、 $ java Main で起動

または、

方法3: カレントディレクトリを変更してから起動する $ cd /bin $ java Main

とかでしょうか。

投稿2021/09/04 06:52

編集2021/09/05 07:06
BeatStar

総合スコア4962

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

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

LouiS0616

2021/09/04 07:05

方法1だとNoClassDefFoundErrorでるんじゃないですかね。
BeatStar

2021/09/04 07:07

あ、そうか…… 修正します。
退会済みユーザー

退会済みユーザー

2021/09/04 07:09

質問ですが一番上の提示コードだとこいったエラーが出るのですが 「 $ java bin/Main エラー: メイン・クラスbin.Mainを検出およびロードできませんでした 原因: java.lang.NoClassDefFoundError: Main (wrong name: bin/Main) 」
BeatStar

2021/09/05 06:54

@ Zuishinさん (あ、本当だ…) 修正します。
BeatStar

2021/09/05 07:04

(あー、そっちかぁ…)
Zuishin

2021/09/05 07:08

方法 2 ですが、パスを通すというと、普通は環境変数 PATH のことになります。 先ほど書いたように、それではうまくいきません。 CLASSPATH という環境変数で指定します。
guest

0

そのファイルをフルパスで指定しておけばいいかと。

その時々のカレントディレクトリの位置によってOKだったりNGだったりすれば困るでしょ

投稿2021/09/04 06:14

編集2021/09/04 06:15
y_waiwai

総合スコア88042

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

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

退会済みユーザー

退会済みユーザー

2021/09/04 06:30

どういうことでしょうか?サンプルをお願いできますでしょうか?
y_waiwai

2021/09/04 06:31

そのbinディレクトリってのはどこにあるんでしょう。 その位置も含めて指定すればいいかと
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問