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

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

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

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

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

コマンド

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

Q&A

解決済

1回答

3358閲覧

.jarファイル複数、ソースファイル複数の場合どうやってjava 実行コマンドを入力したらいいかわからない

退会済みユーザー

退会済みユーザー

総合スコア0

JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

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

コマンド

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

0グッド

0クリップ

投稿2021/09/01 08:46

編集2021/09/01 10:09

提示画像ですがbinには.class libには.jar srcに.javaファイルがあります。コンパイルすることはできるのですがその**実行する方法がわかりません。**いろいろなコマンドを試しましたがなぜ以下ようなエラーが起きるのでしょうか?packageは使っていません。

MainクラスがるソースファイルはMain.java です。
ソースコードの内容は複数の画像を一つのpdfにまとめるソフトです。

環境:ubuntu
利用ライブラリ:
pdfbox.jar
commons.jar

「 エラー: メイン・クラス...bin.Mainを検出およびロードできませんでした
原因: java.lang.ClassNotFoundException: ///bin/Main

参考サイト: https://www.glamenv-septzen.net/view/1121
参考サイト: http://www.nilab.info/z3/20110326_08.html
参考サイト: https://www.gwtcenter.com/dynamic-classpath

コンパイル[ $ javac -cp lib/pdfbox.jar:lib/commons.jar src/*.java -d bin]

###実行するときの試したコマンド
コマンド「  java /bin/.class 」
コマンド「  java /bin/
 」
コマンド「  java "bin/" 」
コマンド「  java "bin/
.class" 」
実行画面1

matsuzawa@matsuzawa-System-Product-Name:~/PDFConverter/bin$ java Main
windows: Cntrl + z 開始
linux: Cntrl + D 開始

Directory or File > /home/matsuzawa/ダウンロード/COMIC Kairakuten 2021-10 [Digital]
/home/matsuzawa/ダウンロード/COMIC Kairakuten 2021-10 [Digital]
0 >: /home/matsuzawa/ダウンロード/COMIC Kairakuten 2021-10 [Digital]

Directory or File >

Exception in thread "Thread-0" java.lang.NoClassDefFoundError: org/apache/pdfbox/pdmodel/PDDocument
at Converter.GeneratePDF(Converter.java:95)
at Converter.run(Converter.java:155)
Caused by: java.lang.ClassNotFoundException: org.apache.pdfbox.pdmodel.PDDocument
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
... 2 more
^Z
[2]+ 停止 java Main

実行画面2

$ java -cp ../lib/pdfbox.jar:../lib/commons.jar Main
エラー: メイン・クラスMainを検出およびロードできませんでした
原因: java.lang.ClassNotFoundException: Main

実行画面3
[
$ java -cp ../lib/pdfbox.jar:../lib/commons.jar Main
エラー: メイン・クラスMainを検出およびロードできませんでした

]

イメージ説明

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

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

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

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

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

mather

2021/09/01 09:06 編集

画像の貼り付けではなく、コンソールに入力した内容やエラーをコードブロックで提示してください。 また、実行したいクラスとそのパッケージ名はなんですか? find src -name "*.java" の実行結果を提示すればおおよそ構成がわかるかと思います。 あと、 java -help でヘルプが表示されるのはご存知ですか?
退会済みユーザー

退会済みユーザー

2021/09/01 10:06

画像の貼り付けをやめ試したことなどを追記しました。
BeatStar

2021/09/01 10:28

コードやそれっぽいものは "<code>"または"<コード>"のボタンを押して出てくるヤツの中に書いた方がいいですよ。 それと過去質問は閉じましょう。 別に私の回答をBAにする必要はありませんが、少なくとも閉じないとダメです。 回答者はそこも見ています。 「どーせ回答しても返信すらねーだろ」とか勘繰られて回答を避けられてしまいますよ。 それか、このスレではなく、前のやつに追記でやりましょう。 (前回の続きなので)
BeatStar

2021/09/01 10:29

ちなみに、質問者は「自己解決」的なやつがありますよ。
guest

回答1

0

ベストアンサー

この実行方法が少し惜しいです。

$ java -cp ../lib/pdfbox.jar:../lib/commons.jar Main

-cp はクラスを検索するパスを指定していますので、ここに Main.class を含む場所が指定されていないと Main を探し当てることが出来ません。
指定しない場合( java Main )は自動的に . (現在のディレクトリ)が指定されますが、今回のように指定がある場合は . を明示的に指定しないと現在のディレクトリは検索対象に入らなくなるので注意が必要です。

投稿2021/09/01 10:26

mather

総合スコア6753

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

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

退会済みユーザー

退会済みユーザー

2021/09/02 06:52

なるほど。以下ようにしたら実行できず。2つ目にすると実行できるのはなぜでしょうか? 1つ目「 matsuzawa@matsuzawa-System-Product-Name:~/PDFConverter$ java -cp lib/pdfbox.jar:lib/commons.jar: bin/Main 」 2つ目「 matsuzawa@matsuzawa-System-Product-Name:~/PDFConverter/bin$ java -cp ../lib/pdfbox.jar:../lib/commons.jar: Main 」
mather

2021/09/02 09:49

bin/Main となっている部分はファイル名ではなく Java におけるクラス名だからです。 あなたのコードではパッケージ名が無いようですが、通常はパッケージ名も含めて java.lang.String などのように正式なクラス名を記述します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問