• ベストアンサー

Eclipse+Javaで開発をしているのですが、

Eclipse+Javaで開発をしているのですが、 現在プロジェクトAでjarを作成、 そのjarを参照する形でプロジェクトBの開発をしています。 そこでプロジェクトAでクラス名の変更を行ったのですが、 Eclipseのリファクタリング機能ではプロジェクトA内しかリファクタリングされませんでした。 プロジェクトBにも変更を反映させるにはどうすればいいですか? jarファイルがリファクタリングされた場合に自動的に対応する方法はあるのでしょうか?

  • Java
  • 回答数1
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

Eclipse で開発する段階では jar を生成せずに、プロジェクトB のビルド・パスにプロジェクトAを追加すれば良いかと。 下記の様な操作になります。 1. プロジェクトBを選択して右クリック 2. [ビルド・パス] - [ビルド・パスの構成]を選択 3. 出てきたダイアログボックスの[プロジェクト]タブを選択 4. [追加]ボタンを押してプロジェクトAを追加

LangFan
質問者

お礼

自己解決しました。 「eclipse project description overlap」 「eclipse workspace subdirectory」 等で検索すると類似の問題と解決方法が見つかります。 自分の環境ではoverlapしているプロジェクトの位置が不明だったので(恐らくメタファイル上に残っているだけの状態?か、他プロジェクトのパッケージ名とプロジェクト名が被っていた為?と思っています) プロジェクトを右クリック→リファクタリング→名前の変更&移動 で解決しました。

LangFan
質問者

補足

返信ありがとうございます。 しかしエラーが出て追加できませんでした。 プロジェクトを参照させるには何か設定が必要なのでしょうか? エラー詳細 「プロジェクト説明が無効です」 ”プロジェクトBのファイルパス”が他プロジェクトの位置”プロジェクトB”にオーバーラップします。

関連するQ&A

  • ★Eclipse で、プロジェクトから別のプロジェクトを参照する方法

    現在、Javaでプログラムを作成しているのですが、2つのプロジェクトを作り、BからAプロジェクトを利用している形にしてます。 Eclipse上で、BプロジェクトのJava Build Path のProjectsタブに、Aプロジェクトを指定しているのですが、 どうもAプロジェクト内のクラスが認識されず、リンクエラーになります。 Aプロジェクトをビルドしてjarを作成し、このjarをLibrariesタブに追加すると、問題なく参照解決されます。 このような症状をご存知の方、いませんでしょうか?

    • ベストアンサー
    • Java
  • Eclipseでは実行できるのにコマンドラインではできません。

    eclipse上で、別プロジェクト(のクラスを参照し、標準出力を行うクラスを作成しました。Eclipce上では、起動すると正常に実行できるのに、コマンドプロンプト上で実行すると、別プロジェクトのクラスがない (Exception in thread "main" java.lang.NoClassDefFoundError: "別プロジェクトの参照しているクラス") のエラーが出力されます。 たたいたコマンドは、 java -jar ××× .jar aaaaa ※classpathには参照するクラスフォルダおよびjarファイルを参照するように設定しています。 ※因みに、eclipseのbuild.xmlを実行してjarファイルは作成。正常に終了しました。 どなたか同じ現象で回避されてた方がいらっしゃいましたら、どうかご教授していただけたらと思います。 よろしくお願いいたします。

  • Java(jarファイル、開発方法、開発環境)について

    Javaの初心者です。 -状況- Jarファイルをもらいました。 そのファイルをダブルクリックすると、アプリケーションが起動します。 アプリケーションを変更したいので、Lhacaで解凍したら、classファイルがたくさん入っていました。classファイルは文字化けして読めません。 Eclipse, JBuilder, Textpadのどれかで開発しようと思っています。 (できればEclipse) -質問- 1、Javaプログラムは、classファイルだけでなくjavaファイルが必要だったと思うのですが、classファイルだけでも動くのですか? 2、jarファイルを解凍しないで、開発環境に取り込めますか? 3、Eclipse, Jbuilder, Textpadのどれが一番おすすめですか? 4、全部まとめると、このJavaプログラムを変更するには、どうすればいいですか? おバカな質問かもしれませんが、よろしくお願いします。

    • ベストアンサー
    • Java
  • Eclipse:Javaの拡張ライブラリ使い方

    Javaの参考書を見ながら勉強を始めた者です。 そろそろテキストエディタとコンソールでコンパイル・実行 という開発環境から卒業しようと思い、Eclipseを使うことにしました。 Eclipse3.7のインストール、Pleiades 1.3.3による日本語化も終わり、"Hello world"も出力でき、 新しい開発環境も用意できたと思ったころで壁にぶち当たりました。 Eclipseで拡張ライブラリを追加して使用する場合は何か設定をしなければならないのでしょうか? 実はdodai.jarという拡張ライブラリ(参考書の付属)を使って課題を進めているのですが、 これが「テキストエディタとコンソールでコンパイル」環境では上手く使えているのですが、 Eclipseでプロジェクトを作成し、ビルドしたところ下記のようなエラーが起こってしまいます。 ------------------------------------------------------------------------------------------------------ Exception in thread "main" java.lang.Error: Unresolved compilation problems: Dodai を型に解決できません Dodai を型に解決できません ------------------------------------------------------------------------------------------------------ "Dodai"というのは拡張ライブラリのクラス名です。 また、前環境で、拡張ライブラリを使用するにあたり、行ったことは以下です。 ・拡張用ライブラリdodai.jar を /Library/Java/Extensions/配下 に置く。 Eclipseの画面上で自分なりに確認できたことは以下です。 ・Eclipseのパッケージエクスプローラでは、JREシステム・ライブラリーの配下にdodai.jarという項目が表示されています。 ・JLabelのようなJREライブラリのクラスは使えています。 開発環境 ・MacOS10.6.8 ・java version 1.6.0_26(元々JDK(Java SE Development Kit)が入っていた。) ・拡張用ライブラリdodai.jarの場所は/Library/Java/Extensions/配下 ・統合開発環境 Eclipse3.7 ・日本語化 Pleiades1.3.3 Eclipseで拡張ライブラリを追加して使用する場合は何か設定をしなければならないのでしょうか? どなたか、拡張ライブラリのクラスの使い方を教えて下さい。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • EclipseでPHP開発を行っています。

    EclipseでPHP開発を行っています。 以前、Java開発を行っていたときに呼び出し階層表示という 関数や変数が呼び出されているクラス一覧を検索できる機能があったのですが、 PHPではそういった機能やプラグインはないのでしょうか? いろいろと探してみましたが、なかなか情報が見つからないので 知ってる方がおりましたら、ご教授頂きたくお願い申し上げます。 Eclipseは以下のものを使用しています。 Eclipse Platform Version: 3.3.2 Build id: M20080221-1800 何卒よろしくお願い申し上げます。

    • ベストアンサー
    • PHP
  • Eclipseのリファクタリング機能の仕組みとは?

    Eclipseのリファクタリング機能の仕組みとは? Eclipseという開発環境を使用し始めて疑問に思ったのですが、メソッドやプロパティ名、クラス名などを置換するリファクタリング機能が存在します。 疑問なのは、Eclipseは置換の対象をどうやって認識しているのでしょうか? プロパティとか変数とかクラス名って、スコープの範囲とか参照先かあるから、単に文字列で検索して置換しているだけではないのでは?と思っています。 ちょっと予想してみたのですが、パッケージやクラス名などを含めた、絶対位置のようなものをどこかに保持しているのでしょうか?中間コードみたいな場所とかに・・・? 考えると気になって仕方がありません。 出来れば、根拠とかソースを提示してもらえると助かります。

    • ベストアンサー
    • Java
  • Javaについて(前の質問の続き、J#、開発方法)

    Java(jarファイル、開発方法、開発環境)について http://okwave.jp/kotaeru.php3?q=2003838 の続きです。 -状況- ●ソース(.java)ファイルを手に入れました。 ●そのファイルのアイコンがJ#になっています。 ●.projectというProjectファイルが、フォルダごとにあります。 ●.projectの中に「<nature>org.eclipse.jdt.core.javanature</nature>」と書いてあります。 ●Eclipseで、mainのあるファイルを開いて実行しようとしましたが、実行できませんでした。 -質問- 1、 アイコンがJ#でも、Eclipseで開発したほうがいいですよね? VisualStudio.NETが入っているから、勝手にアイコンをJ#しているだけだと思うので。 2、 VisualC++の場合、projectファイルを開くと、他のファイル(.cppや.h)も一緒に開いてくれたのですが、Eclipseではどうやってファイルを開けばよいのでしょうか?VC++のprojectファイルのようなものはないのですか?

    • ベストアンサー
    • Java
  • Eclipse/MacのExtentions使い方

    初めまして、Javaの勉強を始めたばかりの者です。 Macを使っています。 この度 /Library/Java/Extentions/にjarファイルを追加して追加したクラスを 使用するプログラムを作りました。 今後開発するにあたり、統合開発環境を使用していきたいと考えEclipseをインストールしました。 Eclipseで拡張ライブラリが使えず、もう何日も困っています。 どなたか助けて下さい。 /Library/Java/Extentions/に追加したjarファイルを使用するにはどうすれば良いのでしょうか? 何度も自分で試してみたのですが、どうしても追加したはずのクラスを使えないです。 プログラムの内容自体はコンソールで実行して見ているので間違いないはずなのですが、、、下記のようなエラーメッセージが出ます。 ------------------------------------------------------------------------------------------------------ Exception in thread "main" java.lang.Error: Unresolved compilation problems: Dodai を型に解決できません Dodai を型に解決できません ------------------------------------------------------------------------------------------------------ 新規プロジェクト作成のところから教えて頂きたいと思います。 宜しくお願い致します。 因みにEclipseを使わずコンソールから実行したファイルは下記の場所でした。 /Users/xxxx/JavaPro/Sample3-2/FusenExec.java javac FusenExec.javaでコンパイル FusenExec.classが出来る。 java FusenExecで実行 ・下記にEclipseでプロジェクトを作成した手順を記します。 新規プロジェクトの作成 ・ファイル>新規プロジェクト>Javaプロジェクト選択>JREの種類で「実行環境JREの使用」→JavaSE-1.6 ・Java設定 JREシステム・ライブラリー「JavaSE-1.6」となっていて、配下に追加したjarファイルが表示されています。 ・パッケージエクスプローラでsrcを選択 ファイル>新規>クラス パッケージ名:jp.xxx.eclipsebook 名前:Sample スーパークラス:java.lang.Object←元々書かれていた ・ソース --------------------------------------------------------------------- package jp.kuu.eclipsebook; public class Sample { /** * @param args */ public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ // 1枚目の付箋土台 Dodai fusen1 = new Dodai(); fusen1.setSize(200,50); fusen1.setVisible(true); } } --------------------------------------------------------------------------------- また、Eclipseで自動作成されたディレクトリの.javaファイルはターミナルからjavacコマンドでコンパイルしようとしても、コンパイル出来ませんでした。 何故なのでしょうか。何だか解らないことが多く、こんがらがって混乱しています。 どなたか助けて下さい。お願いいたします。 開発環境 ・MacOS10.6.8 ・java version 1.6.0_26(元々JDK(Java SE Development Kit)が入っていた。) ・拡張用ライブラリdodai.jarの場所は/Library/Java/Extensions/配下 ・統合開発環境 Eclipse3.7 ・日本語化 Pleiades1.3.3

  • EclipseでのJavaサーブレット開発で、プロジェクトに対するビルドパスの設定について

    Javaプログラミング初心者です。 MacOS 10.5環境で、Eclipse3.5, Tomcat5.5を使ってJavaのWebアプリ開発環境を作りたいと思っています。 サーブレットを作るので ・javax.servlet.* ・javax.servlet.http.* のパッケージをimportするために、Tomcatのcommon/lib/servlet-api.jarをクラスパスに指定する必要があると思うのですが、 Eclipseで新規サーブレットを作った際に、自動的にこのクラスパス指定を行う方法はありますか? 今のところ、サーブレット作成の度に、そのプロジェクトフォルダに対してビルドパスを設定している状況です。 教えて頂けないでしょうか、よろしくお願いいたします。 (ところで、この質問をする際、投稿カテゴリーで「プログラミング」を指定しているにも関わらず、なぜか反映されないので、「その他」カテゴリで質問させて頂きます。)

  • Eclipseで新規クラスを作成時、スーパークラスをjava.lang.Object以外にするには?

    最近Eclipseを使い始めましたが、パッケージエクスプローラがよくわかりません。 Javaプロジェクトを新規に作成し、 インポートを使って既存のjarファイルをそのプロジェクト内に配置しました。 その後、プロジェクトフォルダを右クリックし、 「ビルド・パス」-「ビルド・パスの構成」から 「ライブラリ」タブの「JARの追加」から先述のjarファイルを選択しました。 これでビルド・パスは通ったと思ったのですが、 新規クラスを作成する際にスーパークラスは「java.lang.Object」しか選択できず、 追加したJARにあるクラスが選択できません。 新規クラス作成時のウィザード画面で追加したJARにあるクラスを 選択するにはどうすればよいのでしょうか? また、そもそもこのやり方でビルド・パスは通っているのでしょうか? 以上、よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう