2007年7月8日星期日

Open NetBeans 6 module project with NetBeans 5.x

要打开 NetBeans 6 的源代码工程,最方便的当然是使用配套的最新的开发版,但由于开发版或多或少会不稳定(特别是最近的M10)。所以还是要使用稳定的 release 版本来打开或者开发。
但是由于平台的兼容性问题,在尝试 NetBeans 5.5 来打开从 NetBeans CVS checkout 或下载下来的源代码模块工程时,同样也遇到了问题:在打开对话框中 Project Name 中会以红色显示:
java.io.IOException:
Misconfigured project in ... has no defined "code-name-base"


经过一番周折,我打到一个解决办法:

1. 在 NetBeans 5.x 中注册安装的 NetBeans 6.0 平台 Tools | NetBeans Platform Manager -> Add Platform... , 选择NB6 的安装目录
1.1 在 Harness TAB 中要确保选择第二项 "Harness supplied with Platform", 默认好象是第一项"Harness supplied with IDE" (如果工程使用新的平台中的一些API的话,第一项显然是不对的。) 
1.2 记住 "Platform Name" 的值,因为下面要用到,所以最好拷贝一下。


2. 修改要打开的NetBeans 模块工程的 $工程目录\nbproject\project.xml 文件
<data xmlns="http://www.netbeans.org/ns/nb-module-project/
这个值在 NetBeans 6 中为 <data xmlns="http://www.netbeans.org/ns/nb-module-project/

也就是将新版中使用的命名空间定义"3" 回退到 NetBeans 5.x 使用的 "2"

3. 在要打开的NetBeans 模块工程的 $工程目录\nbproject\ 的目录下,增加 platform.properties 文件, 其内容为:
nbplatform.active=NetBeans_IDE_6.0_M10_(build_200706281431)

即让它指向前面记下的 “Platform Name” 的值:


4. 现在打开试试! (你们也许还会遇到其它问题,因为我也记不清是否改了其它配置)

5. 最后,我还遇到一问题,右击工程 | properties
弹出一个对话框说"没找到定义的平台,回退到默认的平台", 我没办法,只有选择是,然后进入到工程属性中后:
Libraries -> NetBeans Platform 把它给改回来

6. build 试试!


好运!