2012-07-09 11 views
6

によると、the Derby communityによれば、EclipseプラグインはDerbyプロジェクトに沿って自動的に維持されたり構築されません。Apache Derby Eclipseプラグインはどこに行きましたか?

まだこのプラグインを使用している人はいますか?もしそうなら、彼/彼女は実際のビルドを公開しています - それはEclipse JUNOの下で動作するでしょうか?

これが本当のデッドエンドなのであれば、どのような選択肢がありますか?


  • jdk1.7.0_03
  • のJava EE開発者のための
  • のEclipse IDE(Win32の)バージョンジュノを使用して元の問題

    (ビルドから2012/06/14)

  • derby-core-plugin 10.8.2と-ui-plugin 1.1.3(eclipse pがないため最新バージョン10.9.1.0用lugin)

問題
新しいダービーの自然(Javaプロジェクトを右クリックして追加しようとすると - > "Apache Derbyのを" - > "Apache Derbyの自然を追加" )私は次のメッセージを得るだけです:

Apache Derby Ui Plug-in 
Error adding Derby jars to the project: 
org.eclipse.ui.internal.WorkbenchWindow cannot be cast to 
org.eclipse.jface.window.ApplicationWindow 

アイデアはありますか?

答えて

4

Eclipse用のDerby UIプラグインは数年間維持されていません。通常のDerbyコミッターの誰もそのプラグインを使用していないため、コミュニティのボランティアはそれを維持するためのボランティアはいませんでした。だから、それはEclipseの古いバージョンでのみ動作すると思います。

私は、現在のEclipseで動作させるために最新のものにすることはあまりないと思う。あなたがその機能に興味があるなら、私はダービーコミュニティがあなたからのお話を愛していると確信しています!

参照:Is it possible to use derby from apache in Eclipse now that they stopped developing the derby plugin for Eclipse?

+1

ダービーコミュニティのヒントをいただきありがとうございます。私は期待した結果ではありませんが、有用なものを見つけました。 [link](https://issues.apache.org/jira/browse/DERBY-5272) ) – Trainbird

5

Apache DerbyのDB-ダービー-10.9.1.0-SRC/Eclipseの4.2.1(ジュノ)/ Javaの7

修正のいくつかの種類。より多くの研究が必要ですが、これはうまくいくでしょう。

参考文献:
DB-ダービー-10.9.1.0-SRC/BUILDING.html
DB-ダービー-10.8.1.2-SRC /プラグイン/日食/のReadme.txt

は、Apache Derbyのソースzipファイルをダウンロードしてください。
ジッパーを抽出します。
ソースディレクトリに移動します。
db-derby-10.9.1.0-src

次のantターゲットを実行します。
アリは壊し-quiet
アリ-quiet buildsource
アリ-quiet buildjars

コアプラグインをビルドします。
antプラグイン

db-derby-10.9.1.0-src/jars/saneディレクトリにderby_core_plugin_10.9.1.zipファイルがあるはずです。

注:Eclipse IDEを実行しないでください。 上記のantプラグイン・タスクで作成されたderby core pluginを抽出し、その内容をEclipse pluginsディレクトリーにコピーします。

Eclipseを実行します。

ソースツリーからorg.apache.derby.uiをインポートします。
(インポート]> [一般]> [既存プロジェクトをワークスペースへ)、

オープンplugin.xmlファイルの概要]タブで

のは1.1.4を言わせるために、バージョン番号をつり上げます。

ファイルを保存します。

バグ(S)されている中...
1)パッケージorg.apache.derby.ui.popup.actions.AddDerbyNature.java
2)パッケージorg.apache.derby.ui.popup .actions.RemoveDerbyNature.java

これらの2つのユニットでは、.setStatusメソッドが呼び出されます。


注:(ApplicationWindowのJavadocのから)

空隙org.eclipse.jface.window.ApplicationWindow.setStatus(文字メッセージ)

設定またはこれに表示されるメッセージをクリアウィンドウのステータス行(> 1の場合)このメソッドは、ウィンドウにステータス行がない場合は効果がありません。

パラメータ:
メッセージステータスメッセージ、またはnullは、それが

それでは、IDEは、ステータス行を持っていないと仮定しましょうクリアするので、このコールは、Javaのドキュメントによると効果がありません。

Commenting out these method calls from: 
AddDerbyNature.java 
//((ApplicationWindow) window).setStatus(Messages.ADDING_NATURE); 
//((ApplicationWindow) window).setStatus(Messages.DERBY_NATURE_ADDED); 

RemoveDerbyNature.java 
//((ApplicationWindow)window).setStatus(Messages.REMOVING_NATURE); 
//((ApplicationWindow)window).setStatus(Messages.DERBY_NATURE_REMOVED); 

テスト(S):
として実行Eclipseアプリケーション。

プロジェクトを作成します。たぶんそれを "org.apache.derby.ui.test"と呼んでください。

プロジェクトを右クリック/ Apache Derbyの追加を選択してください。
エラーはありません。

プロジェクトを右クリック/選択Apache Derbyを削除する性質
エラーはありません。

もう一度自然を追加して、他のメニュー項目をテストします。
右右プロジェクト/ [スタート]ダービーネットワークサーバー
エラーなしを上クリックしてApache Derby自然

の追加]を選択/プロジェクトをクリックして、サーバーを開始しました。

コンソールログから... Sun Jan 27 17:51:29 EST 2013:基本サーバーセキュリティポリシーを使用してインストールされたセキュリティマネージャ。 日1月27日午後五時51分29秒EST 2013:Apache Derbyのネットワークサーバー - 10.9.1.0 - (バージョン管理外ディレクトリ)が起動し、ポート1527

ノートで接続受け入れる準備ができて:バージョン管理外ディレクトリメッセージが

を何を意味するのかわからないが

プロジェクトを右クリック/ Stop Derby Network Serverを選択
エラーは発生せず、サーバーは停止しました。
日1月27日午後5時53分32秒EST 2013:Apache Derbyのネットワークサーバー - 10.9.1.0 - (バージョン管理外ディレクトリ)シャットダウン

スタートバックアップサーバー...
は右プロジェクト/ [スタート]ダービーネットワークサーバーをクリックします

sqlフォルダを作成します。
test.sqlファイルを作成

my test sqlファイル。

connect 'jdbc:derby://localhost:1527/TESTDB;create=true;user=test;password=test;'; 
-- drop User Indexes - ignore error if first time creating 
drop index UserNameIdx1; 
-- drop the table if it exists - ignore error if first time creating 
drop table TEST_USER; 
-- create the table 
create table TEST_USER ( 
    ID integer generated by default as identity, 
    USER_NAME varchar(255) not null, 
    FIRST_NAME varchar(255), 
    LAST_NAME varchar(255), 
    PASSWORD varchar(255), 
    ENABLED integer, 
    CREATED_STAMP timestamp, 
    CREATED_TX_STAMP timestamp, 
    LAST_UPDATED_STAMP timestamp, 
    LAST_UPDATED_TX_STAMP timestamp, 
    constraint TEST_USER_PK primary key (ID) 
); 
-- insert some data -- oops --- will mess with the ID generator, see the alter table restart line below. 
insert into TEST_USER values(0, 'admin','admin','admin','admin',1,'2013-01-18 12:00:00.000','2013-01-18 12:00:00.000','2013-01-18 12:00:00.000','2013-01-18 12:00:00.000'); 
-- make the USER_NAME unique 
create unique index UserNameIdx1 on TEST_USER(USER_NAME); 
-- reset the generator 
alter table TEST_USER alter column ID restart with 1; 

は、ファイルを右クリック> Apache Derbyの>実行SQLスクリプトは、 'IJ'

Refeshプロジェクトワークスペースを使用して、今TESTDBフォルダがあるはずです。

データベースが作成されました。 OK。

ジップを作成します。

右プラグインの開発に関するプロジェクト]> [エクスポート

クリック> Deplyableプラグインおよびフラグメントをクリックしてください。
デスティネーション]タブ
アーカイブファイル
/derby_ui_plugin_1.1.4-fix.zip
[オプション]タブの個々のJARアーカイブとして
選択解除パッケージのプラグイン

[完了]をクリックします。

テストインスタンスを閉じる/終了します。
Eclipseを終了します。

上記で作成したジップを抽出します。

Eclipseの(Juno)プラグインディレクトリのpluginsディレクトリにその内容をコピーします。

Eclipseを再起動します。新しいプロジェクトを作成します。

プロジェクトにApache Derby(10.9.1)の性質をインストールできるはずです。

注:これをJava 7で構築した場合は、より小さいJVMバージョンでは動作しないと考えてください。

+0

さて、それはいくつかの回避策です。これを私と共有してくれてありがとう、もう一度それが必要ならば試してみる) – Trainbird

+0

ありがとう、これはEclipse 4.3とJava 7のDerby 10.10.1.1で私にとってもうまくいきました。 Eclipseアプリケーションとして実行するには、PDE - Plug-in Development Environmentをインストールする必要があります。それは言うまでもないことかもしれませんが、それを理解するにはしばらく時間がかかってしまいました。 – NigoroJr

関連する問題