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

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

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

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

1回答

2685閲覧

NoClassDefFoundErrorが出てlibsvmクラスへのパスが通りません

vvvvvvvvvv

総合スコア13

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2018/11/03 10:29

初めて質問させていただきます。
私はeclipse上でjava言語を使って教師あり学習をさせるプログラムを書いています。
コードは全て書き終わりモデルファイルを読み込もうとしたところ "java.lang.NoClassDefFoundError: libsvm/svm"とエラーが出てしましました。
libsvm.jarをプロジェクト内のlibフォルダにコピーしそれをビルドパスの構成からJARの追加から参照ライブラリに追加して、それをコード内でimportしてコード内にはエラーがない状態です。libフォルダには他にもjarファイルを同じようにコピーし、ビルドパスに追加しています。
これを実行したところ "java.lang.NoClassDefFoundError: libsvm/svm"のエラーが出てしましました。これはlibsvmクラスが読み込まれていないようだと調べたのですが、libsvm.jarはビルドパスに追加されそれをコードでimportしてもエラーが出ないので原因が分からず困ってしまっています。
そこでエラーが発生するモデルファイルの読み込みを命令するコードの前に
System.out.println("classpath=" + System.getProperty("java.class.path"));
と書いて、設定されているクラスパスを見るコードを実行してみたら他のライブラリの名前に.jarがついたものの中にlibsvm.jarの文字がありませんでした。その出力にはlibsvmと全く同じやり方でビルドパスに追加し参照ライブラリーに追加されてる他の.jarファイルの名前がありました、それらは問題なくパスが通っているようです。
ビルドパスに追加できていてコードでもエラーなくimportできているのに実行したらクラスが見つからないとエラーが出てる状態です。libsvm.jar以外の.jarファイルは設定されたクラスパス一覧に出力されていてクラスを使えるようです。
どのようにしたらlibsvm.jarのクラスパスに追加し、クラスを使えるでしょうか?似たような質問はたくさん他のサイトなどでみるのですが、libsvmで教師あり学習させる場合とはシチュエーションが違い、参考にできませんでした。お詳しい方がいらしたらアドバイスよろしくお願い致します。
当方プログラミング初心者ですのでやわらかく説明していただけるととてもありがたいです。

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

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

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

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

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

guest

回答1

0

実行->実行構成->標準ならメインクラス名のタブをクリック->クラスパス->ユーザーエントリー->外部jarの追加->libsvm.jarを追加したらいけるのではないでしょうか。なぜ一つだけ追加されなかったのかはすみません、わかりません。

投稿2018/11/03 10:48

yukkuri

総合スコア624

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

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

vvvvvvvvvv

2018/11/03 12:32

返信ありがとうございます。 確認したところユーザーエントリー内のデフォルトクラスパス内に既にLIBSVM.JARが入っていますが、同様エラーが生じてしまいます。
yukkuri

2018/11/04 06:43

まず該当箇所、該当のjarを使った処理をコメントアウトしてみてください。ほかのjarが動いているか知りたいです。また、パッケージ内の参照ライブラリーというところに必要なjarが入っているか確認してください。
vvvvvvvvvv

2018/11/04 07:17

質問の内容をより明確にした質問を投稿したのでもしよろしければご返信よろしくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問