- PR -

Eclipseでのrmicタグを含むbuild.xmlファイルのビルドについて

1
投稿者投稿内容
たたん
会議室デビュー日: 2004/03/16
投稿数: 5
投稿日時: 2004-09-02 14:09
たたんと申します。お世話になっております。

現在、Eclipseで開発を行っていまして、Antでビルドを行っていたのですが、
新たにサーバの処理をキックするためにRMIを利用することになり
build.xmlにrmicの処理を追加したのですがビルドに失敗してしまいます。

まず、Eclipse2.1.1に標準でアドオンされているAnt1.5.3のランタイム設定の
「ランタイムクラスパス」にJ2SDK1.4.2のtools.jarを追加してビルドを行うと

BUILD FAILED: java.lang.UnsupportedClassVersionError: sun/rmi/rmic/Main (Unsupported major.minor version 48.0)

とビルドに失敗し、同様に「追加のクラスパス・エントリー」に
tools.jarを追加しても同じく失敗、両方に追加しても同様でした。

そこでhttp://ant.apache.org/からAntの1.5.3_1及び1.6.2を取得して
環境を設定し、コマンドプロンプトからantを実行したところ
問題なくビルドに成功したので、EclipseのAntのラインタイム設定にて
これらを使用するよう設定したところ(「ANT_HOMEの設定」を設定)
1.5.3_1では

BUILD FAILED: java.lang.VerifyError: (class: org/apache/xerces/parsers/IntegratedParserConfiguration, method: configurePipeline signature: ()V) Incompatible type for getting or setting field

となり

1.6.2では

BUILD FAILED: java.lang.NoSuchFieldError: fRecognizedFeatures

となり、共にビルドに失敗してしまいます。

コマンドラインからは成功しているため、こちらから行えばいいとも思うのですが
何分、開発者全員に新たにAntをインストールするというのも面倒ですし、
これまでEclipseからのビルドというのがチームでの標準になってますでの
できればEclipseからビルドを行いたい次第です。
解決方法をご存知の方が居られましたらご教授願いたいと思います。
よろしくお願いいたします。

環境
OS:Windows2000Professional
JDK:J2SDK1.4.2
Eclipse:2.1.1
Odakaz
ベテラン
会議室デビュー日: 2004/05/24
投稿数: 70
投稿日時: 2004-09-02 21:21
私も、eclipseでAnt1.6.2を使おうとして、同じエラーがでました。
そのときは、

http://www2s.biglobe.ne.jp/~yuuki_ki/opensource/js_eclipse3.htm

の記事を参考に設定したところ、問題解決しました。

ここでのポイントは、Antのランタイムクラスパスから、xercesImpl.jar
を削除することでしょうか。
Ant1.6が使おうとしてるxercesのバージョンと、xercesImpl.jarの中の
実装が異なることが原因かな? と思いますが、詳しいところは分かりません。
たたん
会議室デビュー日: 2004/03/16
投稿数: 5
投稿日時: 2004-09-03 14:10
たたんです。回答ありがとうございます。
結論から申しますと解決しました!

Eclipse2.1.1標準のAntでうまくいかなかった理由は
同じマシンにOracleのクライアントを入れていたため
実行PATHでOracleのインストールしたJDK1.3の方が優先度が高く
Antの実行にそのJDKを使用していたためUnsupportedClassVersionErrorが起きていました。
実行PATHの環境変数を修正して、JDK1.4.2の優先順位を上げたところ問題なくrmicが通るようになりました。

Ant1.6.2で失敗していたのはOdakazさんに教えていただいた方法で解決しました。
ただし、Ant1.6.2ではrmicは通るものの今度はjarタグで
BUILD FAILED: java.lang.NoSuchMethodError: org.apache.tools.zip.ZipOutputStream.<init>(Ljava/io/File;)V
となり失敗してしまいます。クラスパスから抜いたxercesImpl.jarに
このクラスが含まれていなかったのでなぜこの例外が発生するのかは謎のままです。

Ant1.5.3_1ではクラスパスからxercesImpl.jarを抜いても前回と同じ例外が発生しました。

ちなみにOracleのJDKのせいだとわかったのは下記のページを参考にさせていただきました。
http://www.artima.com/forums/flat.jsp?forum=61&thread=4792

いまいちAntは謎が多いなと思いつつ、目的が達成出来て良かったです。
ありがとうございました。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-09-03 14:52
引用:

たたんさんの書き込み (2004-09-03 14:10) より:
たたんです。回答ありがとうございます。
ただし、Ant1.6.2ではrmicは通るものの今度はjarタグで
BUILD FAILED: java.lang.NoSuchMethodError: org.apache.tools.zip.ZipOutputStream.<init>(Ljava/io/File;)V
となり失敗してしまいます。クラスパスから抜いたxercesImpl.jarに
このクラスが含まれていなかったのでなぜこの例外が発生するのかは謎のままです。


ZipOutputStreamクラスはant自体のライブラリに入っていますね。メッセージを見る限り、
どうも古いバージョンのZipOutputStreamクラスを使おうとしているようですが、もしかして
このクラスが入ったライブラリがant以外にもあるのかもしれません。
1

スキルアップ/キャリアアップ(JOB@IT)