Groovy添加了execute方法,String使执行shell相当容易;
println "ls".execute().text
Run Code Online (Sandbox Code Playgroud)
但如果发生错误,则没有结果输出. 是否有一种简单的方法可以同时获得标准错误和标准错误? (除了创建一堆代码;创建两个线程来读取两个输入流,然后使用父流等待它们完成然后将字符串转换回文本?)
有类似的东西会很高兴;
def x = shellDo("ls /tmp/NoFile")
println "out: ${x.out} err:${x.err}"
Run Code Online (Sandbox Code Playgroud) 查看列表中是否存在某些内容的常规方法是使用"in"
if('b' in ['a','b','c'])
Run Code Online (Sandbox Code Playgroud)
但是,你如何很好地看到某个集合中是否有某些东西?
if(!('g' in ['a','b','c']))
Run Code Online (Sandbox Code Playgroud)
似乎凌乱而且"!" 隐藏的一瞥隐藏起来.是否有更惯用的常规方法来做到这一点?
谢谢!
Object o = new Long[0]
System.out.println( o.getClass().isArray() )
System.out.println( o.getClass().getName() )
Class ofArray = ???
Run Code Online (Sandbox Code Playgroud)
运行前3行发出;
true
[Ljava.lang.Long;
Run Code Online (Sandbox Code Playgroud)
如何得到 ???要打字?我可以解析字符串并执行Class.forname(),但那很糟糕.什么是简单的方法?
救命!我正在向Grails移植一个大的ruby应用程序 - 但我的应用程序的Grails启动需要超过2分钟.
我已经将dbCreate设置为"读取"我已经确保我的高端双处理器桌面窗口框提供了Grails所需的RAM(1 Gig).我没有安装插件.我有170个域类,曾经是ruby类.
当它启动时,它打印出"Running Grails App .."这一行,然后挂起很长时间,然后打印出"Server running"行.
我刚刚做了一些事情,我将所有的ID迁移到bigints.这似乎使问题恶化了.现在启动大约需要10分钟.
我是grails的新手你能不能给我一些关于在启动时记录事件的内容和位置的更多细节?至于分析vm,我做了很多Java已经有几年了.你推荐什么作为现在最好的分析工具?
我还能做些什么来加速Grails创业?
我可以通过远程API找到关于我的Jenkins服务器的所有内容,但不能找到当前正在运行的作业列表.
这个,
http://my-jenkins/computer/api/json
Run Code Online (Sandbox Code Playgroud)
要么
http://my-jenkins/computer/(master)/api/json
Run Code Online (Sandbox Code Playgroud)
看起来似乎是最合乎逻辑的选择,但他们没有说什么(除了工作数量)关于哪些工作实际运行.
使用top可以很容易地识别占用内存和CPU的进程,但偶尔我看到计算机的网络活动高峰,但我无法确定哪个进程正在生成活动.在哪里寻找这些信息的正确位置?
我试图在Groovy 1.6-beta-2中使用新的Groovy Grape功能,但是我收到了一条错误消息;
unable to resolve class com.jidesoft.swing.JideSplitButton
Run Code Online (Sandbox Code Playgroud)
运行stock示例时,从Groovy控制台(/opt/groovy/groovy-1.6-beta-2/bin/groovyConsole);
import com.jidesoft.swing.JideSplitButton
@Grab(group='com.jidesoft', module='jide-oss', version='[2.2.1,)')
public class TestClassAnnotation {
public static String testMethod () {
return JideSplitButton.class.name
}
}
Run Code Online (Sandbox Code Playgroud)
我甚至尝试运行葡萄命令行工具以确保导入库.像这样;
$ /opt/groovy/groovy-1.6-beta-2/bin/grape install com.jidesoft jide-oss
Run Code Online (Sandbox Code Playgroud)
哪个安装库就好了.如何从groovyConsole获取正确运行/编译的代码?
在Spring中,您可以通过让applicationContext.xml调用构造函数来初始化bean,或者可以在bean上设置属性.这两种方法之间的权衡是什么?拥有一个构造函数(在一个方法中强制执行所需的一切)是否更好?或者更好地拥有所有属性(这使您可以灵活地仅选择性地注入,例如在单元测试时).
有什么权衡(在编写使用构造函数来建立它的初始状态的bean,或者使用属性以及可能是afterProperties()方法之间)?
如果项目具有100%的单元测试覆盖率,是否仍需要集成测试?
我从未参与过具有100%单元测试覆盖率的项目,但我想知道你的项目是否获得了这个(或90%),你的体验是否还需要集成测试?(你需要更少吗?)
我问,因为集成测试似乎很糟糕.它们通常是缓慢的,脆弱的(容易折断),不透明(当有人不得不潜入所有层以找出问题时),并且导致我们的项目放慢速度......我开始认为拥有只有单元测试(也许是一小部分烟雾测试)才是最佳选择.
从长远来看,似乎集成测试(根据我的经验)比他们节省的成本更高.
谢谢你的考虑.
使用mysql时如何在Grails中增加maxPoolSize?它似乎只使用默认连接池8个连接.
我知道这是一个"经典问题",但是mysql/grails(部署在Tomcat上)是否考虑了如何处理用户上传文件的存储问题.
我喜欢将数据库用于所有内容(更简单的架构,扩展只是扩展数据库).但是使用文件系统意味着我们不会使用二进制文件加载mysql.有些人可能会认为apache(httpd)比Tomcat更快地提供二进制文件,尽管我已经看到实际显示将Tomcat放在站点前面的数字可能比使用apache(httpd)代理更快.
我该如何选择放置用户上传文件的位置?
感谢您的考虑,时间和思想.
这个文件中的'静态'做了什么,sample.groovy?
static class froob {
}
Run Code Online (Sandbox Code Playgroud)
groovy代码使用'static'或没有它来编译.
grails ×4
groovy ×4
java ×2
mysql ×2
jenkins ×1
networking ×1
ruby-grape ×1
spring ×1
ubuntu ×1
unit-testing ×1