好吧,这个blog已经被遗忘超过两年时间了,,
先小小抱怨一下Eclipse:把一个原本用MyEclipse构筑的J2EE工程迁移到Eclipse Juno(反盗版故),花了我将近2天时间,各种配置各种折腾!尤其是tomcat的配置,复杂得要死……今天把同样的工程迁移到NetBeans 7.3,只花了不到半个小时就成功了。早知道省多少事啊……Eclipse你肿么了?你越来越复杂,越来越臃肿,越来越难用了,不是么?
题外话:用Eclipse Juno自带的部署/同步功能,会导致应用运行时产生的文件被删掉(同步策略的毛病,而且不可配置,真NC),除非在发布的context path下不要包含任何运行时产生的文件。这是我最终放弃Eclipse Juno的主要原因。
转入正题,因为经常做PHP开发的缘故,对NetBeans也用得比较多,实在说是比较喜欢这个IDE的,尽管视觉效果上比起Eclipse来说差一点,但是它更简单,更易用,更傻瓜,更人性。
把Eclipse的工程导入到NetBeans7.3,只需要做很少的一点设置(指定一下Tomcat的路径)就OK了。不过发现nb73没有内置对Freemarker的支持,找到一个很老的插件(2007年,针对nb6.x),已经无法使用。但是原作者Geertjan Wielenga,帅呆了的大叔,,貌似利用JavaCC等技术又改写了一个版本,命名很粗犷,就叫[ftl],汗颜……并于2012下半年最后更新(那是nb7.2的时代),下面折腾开始了。
1、下载了org-ftl.nbm文件,https://java.net/projects/nb-api-samples/sources/api-samples/content/versions/7.2/misc/ftl/release/org-ftl.nbm?rev=547
2、安装它,,呃,,会报告"The plugin Lexer to NetBeans Bridge is requested in implementation version 201207171143."这样的错误,安装失败。就像jim_d在https://blogs.oracle.com/geertjan/entry/syntax_coloring_for_freemarker#comment-1354165659183 里面所报告的那样。
3、Geertjan Wielenga 大叔很耐心地跟了几个post,指出可以自己把插件工程下载回来用nb7.3编译试试,可惜没有完全解决问题,jim_d童鞋很聪明,他发现用nb7.3编译之后也没法用,但最终他不知道哪儿来的灵感,使用"Install/Reload in Development IDE"的方式成功安装了这个插件。
4、所以我也checkout了[ftl]的代码,https://svn.java.net/svn/nb-api-samples~api-samples/versions/7.2/misc/ftl,用nb7.3打开,然后右键工程-〉"Install/Reload in Development IDE",nb会警告你“这样做不安全后果很严重”云云,不过大叔的代码杠杠的,有我充当过小白鼠,就放心next好了。
5、然后?就是可以很high地使用这个插件了……
参考资料:
Syntax Coloring for FreeMarker
https://blogs.oracle.com/geertjan/entry/syntax_coloring_for_freemarker
JavaCC Lexer Generator Integration Tutorial for NetBeans Platform 7.2
https://platform.netbeans.org/tutorials/nbm-javacc-lexer.html
[platform-dev] Re: Freemarker plugin - where to start
http://forums.netbeans.org/post-134217.html