Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Eclipseへのオープンソースのインポートの仕方

現在、struts2のソースをeclipseを使ってコンパイルしたく、ソースをeclipseにインポートしようとしているのですが、2つ問題点がありこまっています。

1)一番上(struts2/src/)のフォルダを対象にインポートすると、ソース内の「package」で指定されているフォルダと、実際のフォルダがあわない。
2)struts2以外のところから持ってきているjarがたくさんある(servlet,jsp,spring等)ため、一個一個jarを追加していたら結構な手間になる。

以上です。なにか助言をいただけるとうれしいです。

8

回答

6002

閲覧

8件の回答

評価

0

手っ取り早いのは、struts2-blank.warをインポートする。

しかし、実際に開発するなら、web.xmlの書き方やら、
ライブラリの依存関係は調べておいた方が良いですよ。

評価

0

プロジェクト内のパッケージ基点は、プロパティからいじれる。
jarは範囲指定で複数いっぺんに追加できる。

評価

0

お返事ありがとうございます。

私がしたいことをかいていないせいで少し回答の方向性がぶれていると感じたので、目的をかかせていただきます。

私がなぜstruts2のオープンソースをコンパイルしたいかというと、
現在struts2のプロジェクトを作っており、その過程でエラーが発生しました。そしてそのエラーを解決するために、動的にオープンソース内部をデバックしたいためです。

以上を踏まえた上で回答にお返事させていただきます。

<<struts2-blank.warをインポートする
このファイルを展開してソースをインポートしたのですが、10個ほどのファイルはパッケージがおかしかったですが、これらは手作業で修正すれば
1)の問題は解決できると思います。ありがとうございます。

ただし2)の方は依然として解決できず、クラス内で指定されているjarがどこに格納されているかわかりません。WEB-INF/lib以下にもそれらしいファイルがありません。

またなにかお気づきの点がございましたら、指摘していただけると助かります。

<<プロジェクト内のパッケージ基点は、プロパティからいじれる。
たしかにこの方法でパッケージの指定はできるのですが、自分が探しただけでも10ファイル以上各地にあり、また手動でやった場合はケアレスミスが怖いので、まとまったファイルを探しておりました。

<<jarは範囲指定で複数いっぺんに追加できる。
たしかにそうなんですが、import文を一個一個みて必要なJarを探していたのではかなりの数が必要になるため、どこかにまとめている場所を探しておりました。

いろいろ誤解させるような書き方をしてしまって、申し訳ありません。またなにかお気づきの点がございましたら、助言していただけると幸いです

評価

0

ごめんなさい、勘違いしてました。
Struts2アプリを作りたいのではなく、
Struts2そのものをいじりたいんですね。

今確認できる環境にないのですが、
たしかmaven2で管理されていたと思うので、
eclipseにmaven2のプラグイン入れるんだか、
maven2にeclipseプラグインを入れて
eclipse用のプロジェクトファイルを生成するんだか、
どちらか忘れましたが、してみたらどうでしょう?

あるいは、ソースが見つからないとこは、
Java Decompiler(JD-GUIかJD-Eclipse)で
逆コンパイルしちゃうとか。

評価

0

maven2で探してみたんですがうまくみつかりませんでした(今maven2という単語を始めてしったからかも)。そのかわりにhttp://struts.apache.org/2.1.6/struts2-core/source-repository.htmlをみるとSVNで提供されていたので、こちらからチェックアウトしました。

しかしながらやはり依存関係のあるjarはありません。
半ばやけになって片っ端からjar追加しているんですが、なかなかうまくいかないです。

逆コンパイルもありですが、正規の手段ではないため最終手段にします。

何度もお付き合いありがとうございます。またなにか気づいた点がありましたら、ご指摘いただけると幸いです。

評価

0

mavenで管理してるなら、pomファイルが入ってるんじゃないかな。
単なるXMLだからそこからjarを拾えば。

というか、サイトにdependenciesが書いてないんだろうか。

評価

0

「動的にオープンソース内部をデバックしたい」の意味は、
ソースに変更を加えたいのでしょうか?
動作を追いかけたいだけでしたら struts2 や xworks の jar に
ソースを結び付けるだけで可能です。

評価

0

みなさんお返事ありがとうございます。

手順としては、皆さんの意見を参考にさせていただき、
1)struts2からpomファイルを探す
2)pomファイルのビルドができなかったので、dependenciesだけを抜き出す
3)適当なダミープロジェクトをつくって、そこのpom.xmlに上記のdependenciesを追加、ビルドする
4)ダミープロジェクトからjarを取り出して、eclipseに追加する
という手段をとりました。少しバージョンが存在しないとか、一部jarが足りないといったことはありましたが、こちらは手作業でなんとかしました。

以上です。様々なご指摘ありがとうございました。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。