西安java用户群,感谢dudu,为我们开通团队,所有西安java界的朋友都可以到这里报道或者mail我,我来做初步的管理,等人足够多了,我会交出管理权!
初步想建立一个类似GJUG的小社团,也丰富一下,我们西安程序员的业余生活。
感谢大家支持。
联系方法:
leeguannan@gmail.com
leeguannan@msn.com
http://www.krugle.com/
代码搜索工具,使用大量AJAX,可以搜索各种代码,还提供Eclipse插件。所有优秀程序员都应该收藏!
Maven2对项目的管理确实可以说是无微不至的,而且给出了大量的硬性规定。强制要求项目的目录结构,而且还强烈建议使用“测试驱动开发”的使用。比方说它生成的标准项目目录中就自带了test目录,而且POM.XML文件就直接带有Junit3.8的Jar引用了。
暂时就先简单介绍一下两种Maven2自带的标准项目的生成方法:
mvn archetype:create -DgroupId=com.mycompany.ap -DartifactId=my-app
生成目录结构:
my-app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
....
上面生成出来的一个标准的jar项目格式。
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp
-DarchetypeArtifactId=maven-archetype-webapp
my-webapp
|-- pom.xml
`-- src
`-- main
|-- webapp
| |-- WEB-INF
| | `-- web.xml
| `--index.jsp
`-- resources
上面生成的是一个标准的 war 项目。
在命令行运行上面的命令以后在到项目文件夹下运行 mvn eclipse:eclipse,就将这个项目生成了eclipse项目依赖的文件,这个项目就可以导入到eclipse中开发了。
暂时就先介绍这么多,有时间,把我们的预研报告整理出来。
昨天在Bolg中贴出来一个很不错的RCP项目http://jlibrary.sourceforge.net/。
今天已经开始研读他的代码了~,由于第一次解除RCP项目,难免总是一头雾水,碰到了不少问题。在此记录下来,希望有高手挺身而出帮忙解决,也再次记录疑问,以备后辈享用.
1.如何使用Maven2如果完成对EclipseRCP项目的管理?
2.此项目在JLibraryActionBarAdvisor中使用自己封装的ActionFactory来产生Action,而ActionFactory产生的Action只是RetargetAction,而RetargetAction对应的Action仅仅只有一个简单的ID。此时在ActionBar上面显示的Action仅仅是显示而是不能用的。到了View中再产生真实的可以用的Action,而这个真实的Action并没有包括任何ID信息。疑问就是RetargetAction与真实的Action是如何联系起来的?
此问题已经解决,他们的意图是在JLibraryActionBarAdvisor首先使用RetargetAction对Toolbar上的Action进行注册,此时这些RetargetAction都还有对应的真实Action。当用户切换视图到对应的透视图,并且选择了某个Veiw时,View中的代码开始真正的注册真是的Acion,注册完成真是的Action以后再使用
1
actionBars.setGlobalActionHandler(ActionFactory.IMPORT_ID, fImport);
方法将虚拟的RetargetAction与真实的Action进行关联。
这样做的好处,我认为是先使用RetargetAction进行了占位,显示不能用,然后根据不同的选择Site,在判断这个Action是否可用。
3.整个系统的权限是如何控制的?
http://jlibrary.sourceforge.net/
各种功能都齐全,把RCP发挥的林立极致~~最好的是它开源!
哪个高手可以告诉我如何使用maven2来管理RCP的项目~
TreeView思维图
下载
XMIND 2007(未注册)运行以后,先彪出一个Wizard,向人们要钱~
OK,我的东东第一次运行的时候也要一个Wizard,不要钱
,要数据库配置信息。
首先了解一下Wizard基础:
图是Eclips Help的,不用文字,一张图就够~说的很详细。
Wizard的显示是需要Wizard Dialog的, Wizard Dialog显示的是Wizard,
Wizard(继承自Wizard,实现自INewWizard)中则包含了N个Wizard Page.只要page的数量大于2,那么下面的back和next就可以用了,太简单了~
Wizard Page中的
public void createControl(Composite parent)方法主要是Page中的控件;
Wizard中的
public boolean performFinish()方法是处理,点击Finish以后的处理方法;
在RCP启动之前先启动Wizard就是在
Application类
public Object start(IApplicationContext context) throws Exception 方法中
Display display = PlatformUI.createDisplay();之下,
int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());之上增加启动Wizard的代码:
1
WizardDialog wizardDialog = new WizardDialog(new Shell(), new FirstTimeConfigWizard());
2
wizardDialog.open();
哪个哥哥知道XMIND 2007的注册里面,点击关闭以后直接关闭RCP这个东东是怎么实现的?
下午正式开始RCP开发,于是乎轻车熟路的开始打基础框架。
1. 建RCP项目
2. 复制Form的jar包
3. 写第一次使用时需要维护信息的Wizard和WizardPage
4. 写用户登录窗口
5. 在ApplicationWorkbenchWindowAdvisor中增加最大化代码,在ApplicationWorkbenchAdvisor中增加保存用户配置的代码
1
public void postWindowOpen()
{
2
this.getWindowConfigurer().getWindow().getShell().setMaximized(true);
3
}
1
public void initialize(IWorkbenchConfigurer configurer)
{
2
configurer.setSaveAndRestore(true);
3
}
5. 写Perspective们
6. 写View们
7. 给Perspective们分配View们
run一下看看~晕,什么都不出来~Why!
寻了一大圈才发现问题出在第五步给ApplicationWorkbenchAdvisor中增加保存用户配置的代码上~注释掉configurer.setSaveAndRestore(
true);就一切正常了。
非常之不解,难道是我再给Perspective们分配View们之前已经run过了,所以记录了我的布局方式了?不至于这么白痴吧~
希望知道的大哥给解释一下~