的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德比源拉链。
提取拉链。
更改为源目录。
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核心插件,并将内容复制到Eclipse插件目录。
运行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
其中在这两个单元中调用.setStatus方法。
注:(从ApplicationWindow的的Javadoc)
空隙org.eclipse.jface.window.ApplicationWindow.setStatus(字符串消息)
设置或清除在此显示的消息窗口的状态行(如果它>一个)。如果窗口没有状态行,则此方法无效。
参数:
消息的状态信息,或者为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 nature
没有错误。
右键点击项目/选择删除Apache Derby nature
没有错误。
再次添加性质以测试其他菜单项。
右键单击项目/选择添加Apache Derby的性质
右键单击项目/选择开始Derby网络服务器
没有错误,服务器启动。
从控制台日志... 太阳1月27日17时51分29秒EST 2013:安全管理使用基本服务器安全策略设置。 太阳1月27日17时51分二十九秒EST 2013:Apache Derby的网络服务器 - 10.9.1.0 - (版本目录)开始,并准备接受端口连接1527
注:不知道该版本目录消息意味着什么
右键单击项目/选择停止Derby网络服务器
没有错误,服务器已停止。
太阳1月27日17点53分32秒EST 2013:Apache Derby的网络服务器 - 10.9.1.0 - (版本目录)关机
启动服务器备份...
右键单击项目/选择开始Derby网络服务器
创建一个sql文件夹。
创建一个test.sql文件
我的测试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文件夹。
数据库已创建。好。
创建一个zip文件。
右键单击项目>导出的插件开发> Deplyable插件和片段
点击。
目标选项卡
归档文件
/derby_ui_plugin_1.1.4-fix.zip
选项标签
取消选择包插件作为单独的JAR归档
单击Finish。
关闭/退出测试实例。
退出Eclipse。
提取您刚刚从上面创建的拉链。
复制它的内容到插件目录到Eclipse(麦浚龙)plugins目录。
重新启动Eclipse。创建一个新项目。
您应该能够安装的Apache Derby(10.9.1)自然到您的项目。
注意:如果建立了这个与Java 7,不要指望它为任何JVM较小版本。
感谢Derby社区的提示,现在我发现了一些有用的东西 - 尽管它不是我期望的结果... [link](https://issues.apache.org/jira/browse/DERBY-5272 ) – Trainbird 2012-07-10 08:57:17