用钉枪增强你的魅力


您是否正在处理一个大型的Hibernate项目,在创建会话对象时需要花费很长时间来加载所有的hbm.xml文件?这在部署和运行时很好,因为它只加载一次。然而,通常情况下,我们也需要同一个会话对象来执行一些特别的HQL查询来调试或验证数据。在会话中加载和重新加载大型映射文件来执行单个查询是非常痛苦的。

现在,我喜欢用Groovy来浏览Java的东西,它也是一个查看您的数据的非常好的工具。您可以使用他们的groovyConsole图形用户界面工具和添加类路径选项轻松地实现这一点,以包括您的项目类。这会弹出一个小编辑器,你可以在那里编写脚本来加载你的休眠会话。一旦加载了第一次运行(创建了hibenrate会话),那么第二次运行几乎是瞬间完成的。

运行这个小小的groovyConsole让我胃口大开,我渴望有一个更好的文本编辑器,但是我并不真的想要一个完整的脚本集成开发环境。我喜欢在普通编辑器中写脚本。如果你有一个编辑器,比如Sublime Text 2(ST2)它有一个“构建”功能来执行外部命令,那么您将会更喜欢编写脚本。有了ST2,我可以让它在我正在编辑的脚本编辑器中调用groovy.bat。然而,还有另一个问题:外部命令将在每次运行时重新启动一个新的JVM进程!现在我又回到了起点。

为了解决这个问题,并且还保留我的蛋糕(编者),我召回了一个很棒的工具,叫做NailGun。这非常适合Groovy和我的问题。我可以像这样启动一个服务器

java -cp "groovy-all-2.0.1.jar:nailgun-0.7.1.jar" -server com.martiansoftware.nailgun.NGServer

然后在我的ST2编辑器中,我可以运行一个像这样的外部命令作为NailGun客户端:

/path/to/nailgun-0.7.1/ng groovy.ui.GroovyMain test.groovy

钉枪客户端将脚本文件内容发送到服务器并打印结果。同样,在第一次运行之后,第二次运行应该是即时的。

在那里,我抓痒了。

关于如何设置崇高文本2运行钉枪客户端的详细信息

  1. 转到菜单:“首选项>浏览软件包”
  2. 打开Groovy文件夹
  3. 使用以下命令保存一个名为“GroovyNailGunClient .崇高-构建”的文件:
       {
         "cmd": ["/path/to/nailgun-0.7.1/ng", "groovy.ui.GroovyMain", "$file"],
         "file_regex": "^(...?):([0-9]):?([0-9]*)",
         "selector": "source.groovy"
       }
    
  4. 选择菜单“工具>构建系统>全局客户端”
  5. 按CTRL+B在编辑器中运行任何常规文件。