libにjarファイルを入れてもimportされない。

5,043 views
Skip to first unread message

taru taru

unread,
Sep 16, 2013, 7:47:42 PM9/16/13
to play-fr...@googlegroups.com

初めまして。
上田と申します。現在java play を検証でプログラムを作成しています。
しかし、java play 上でapache tikaのjar fileをimportすると、
impportができない現象の壁にぶつかっています。
目標としては、apache tikaをimportし、APIが利用できるようにしたいと
思っています。現象は下記に書き出しました。

大変申し訳ありませんが、ご教授して頂けませんでしょうか。
お願い致します。

【問題】
①Eclipse上またはExplorer上でlib folderに.jar fileをcopyする。
②copyされたjarのpackageをimportする。しかし、importができない。

【確認済事項】
・Eclipse上で「インポートされた××は見つかりません」と表示される。
・Eclipseが認識していないだけと思い、browserでURLへアクセスしてみた。
しかし、文字化けしたerrorが表示される。
errorの文字codeをplay debug runを実行前にset _JAVA_OPTIONS=-Dfine.enmcording=文字コード
をいくつか指定してみたが改善されない。
・自作クラスをjar fileでimportしたが、importできない。
・commons lang3とJDBCはimportできている。


【プログラム実行環境】
java version:1.7.0_25
play framework version :2.1.2
eclipse version:kepler
OS:windows XP

Kenji Yoshida

unread,
Sep 17, 2013, 2:20:34 PM9/17/13
to play-fr...@googlegroups.com
"commons lang3とJDBCはimportできている。"

とのことですが、それらはどうやって設定したのでしょうか?


以下、推測で書いてみます、原因違っていたらすいません。

eclipseは、"プロジェクト毎のパスの設定" とは別に、たしか "ワークスペース全体に共通で加えるパスの設定" が存在した気がします。
おそらく
"commons lang3とJDBCはimportできてる"
ということから、その2つは
"ワークスペース全体に共通で加えるパスの設定" のほうに入ってるのではないでしょうか?
もしそうだとしたら、PlayやScalaはほぼ関係ない、一般的なeclipceの使い方の問題だと思います。


あと、
- playコンソールからecpliseコマンド使っての設定は使ってるか?使ってるとしたら、具体的にどういう手順でやったのか?
- eclipseは抜きにして、playコンソールからコンパイルはできる状態か?
(もし、コンソールからはコンパイルできるなら、よけいにeclipseの設定の問題の可能性が高い)

などの情報もお願いします。




あと最後に、このメーリングリストは英語用で、日本人はあまり見ていないと思うので、
(今回はこのままここで続けてもいいとは思いますが)
次回からこっちの https://groups.google.com/group/play_ja "日本Playframeworkユーザー会"
に投稿したほうがいいと思います。

Kenji Yoshida

unread,
Sep 17, 2013, 2:30:40 PM9/17/13
to play-fr...@googlegroups.com
すいません、ちょっと勘違いしていたかもしれません。

commons-lang3は、たしかPlay自体の依存に入っているので、
(もしplayコンソールから正規の手順通りeclipseコマンド使ってセットアップしたなら)importできて当然ですね。

ただ、どちらにしろ、eclipseの使い方の問題な気はします。


あと、特に理由がないなら、libフォルダに直接jarを入れるのではなく、
「ビルドファイルに数行書くだけで、依存が追加できる便利な仕組み」が備わっているので(以下のURL参照)


こっちの方法も検討したほうがいいと思います。

taru taru

unread,
Sep 17, 2013, 7:44:22 PM9/17/13
to play-fr...@googlegroups.com
Kenji Yoshida様へ

質問へ対する回答ありがとうございます。

まず初めに原因が分かりました。
下記のリンクにEclipseでのクラスパスの変更があった場合の記述がありました。
抜粋→クラスパスの変更のようなアプリケーションにとって重要な変更を行った場合、eclipse コマンドを使って設定ファイルの再作成を行います。
http://www.playframework-ja.org/documentation/2.1.2/IDE
私は、eclipseコマンドはEclipseへ認識させるためだけのものと勘違いしていました。

しかし、1点だけ疑問が残ることになりました。
なぜコマンドプロンプトでコンパイルをしてもエラーになってしまうのか・・・
今後確認したいと思います。

また、JDBCは導入当時に設定していたので、libフォルダにjarファイルを設定後eclipseコマンドを実行しました。
commons lang3については、libフォルダにjarファイルを設定後すぐにimportできた記憶があります。(勘違いかもしれませんが…)
sbtについては、現在別のところへ時間をかけたいので、時間がある際に勉強をしたいと思います。

本当にありがとうございます。

2013年9月18日水曜日 3時30分40秒 UTC+9 Kenji Yoshida:
Reply all
Reply to author
Forward
0 new messages