经过一番设计之后,我的 ant 工具已经很好用了,对 NetBeans RCP 项目的构建方式有了一点儿改进。
我在 上一篇博客文章 中提到,我认为分发 NetBeans RCP 项目源的好方法绑所使用的构建平台(当然,如果不是默认的 NetBeans 平台)。
我建议在分发中使用以下目录布局:
lib/nbm - 用于存放以 nbm 文件形式打包的引用平台; lib/nbm/NetBeans6.0RC1 - 用于存放需要使用的 NetBeans 平台的模块; lib/platform7-base - 用于存放 NetBeans 上无法打包为 nbm 文件的某些文件; src/ - 源文件 lib/platform - 用于存放以 nbm 文件形式打包的引用平台
<property name="platform.dir" value="lib/platform" />
<property name="nbm.dir" value="lib/nbm" />
...
<target name="generate-platform">
<delete dir="${platform.dir}" failonerror="false" />
<mkdir dir="${platform.dir}" />
<copy todir="${platform.dir}/platform7">
<fileset dir="lib/platform7-base" />
</copy>
<generatePlatform platformTargetFolder="${platform.dir}" >
<fileset dir="${nbm.dir}"/>
<fileset dir="${nbm.dir}/NetBeans6.0RC1"/>
</generatePlatform>
</target>
<project name="MyApplication" basedir="." default="build">
<description>...</description>
<property name="platform.dir" value="lib/platform" />
<property name="nbm.dir" value="lib/nbm" />
<property file="nbproject/platform.properties"/>
<property file="nbproject/private/platform-private.properties"/>
<propertyfile file="${user.properties.file}" comment="">
<entry key="nbplatform.${nbplatform.active}.harness.dir" value="$${nbplatform.default.harness.dir}"/>
<entry key="nbplatform.${nbplatform.active}.label" value="${nbplatform.active}"/>
<entry key="nbplatform.${nbplatform.active}.netbeans.dest.dir" value="${basedir}/${platform.dir}"/>
</propertyfile>
<import file="nbproject/build-impl.xml"/>
...
ant generate-platform,然后他们就可以开始使用该平台了。在我知道如何自定义 ant 初始化任务之后,就可以通过只打开带有 IDE 的项目(纯 J2SE 项目)来工作。有关更多信息,请参见 OpenBlueSky 文档。可以在 OpenBlueSky 中下载这些 ant 任务的源和初始二进制文件。 CoverFlowView 一样更为尖端的东西(此处在 blueMarine 中出类拔萃):
ListView 一样简单(只需设置一个 Lookup 和一个 ExplorerManager 即可完成)。很快,我将发表有关这方面的更多详细信息。