如何在检测到问题后停止Gradle构建?我可以使用断言,抛出异常,做一个System.exit(坏主意),或者在Gradle中使用专用函数(但我找不到).Gradle的最佳方式是什么(以及为什么?).
我正在使用IntelliJ 12,它将我的成员变量注释放在同一行,我讨厌!如何设置代码格式化程序以在不同的行上保留注释?
谢谢!
我有一些代码使用try资源和jacoco它只有一半覆盖.所有的源代码行都是绿色的,但我得到一个黄色的小符号告诉我8个分支中只有4个被覆盖.

我无法弄清楚所有分支是什么,以及如何编写涵盖它们的代码.扔三个可能的地方PipelineException.这些createStageList(),processItem()以及隐含的close()
createStageList()processItem()close()processItem()和抛出异常close()我想不出任何其他情况,但我仍然只有8个中有4个被覆盖.
有人可以向我解释为什么它是8中的4,并且无论如何都可以击中所有8个分支?我不熟悉decyrpting /阅读/解释字节码,但也许你是...... :)我已经看过https://github.com/jacoco/jacoco/issues/82,但它既不是也不是问题它非常引用帮助(除了注意这是由于编译器生成的块)
嗯,就在我写完这篇文章的时候,我想到了上面提到的那些案例可能没有被测试过......如果我做对了,我会发一个答案.我确信这个问题和答案在任何情况下都会对某人有所帮助.
编辑:没有,我没有找到它.抛出RuntimeExceptions(不由catch块处理)不包括任何更多分支
我发现了这个:变换后的宽度/高度
还有其他几个,但没有什么不是我想要的.我想要的是将某些东西缩放到它的大小的50%(当然有很好的动画过渡)并让页面布局重新调整到元素的新(可视)大小.默认情况下似乎发生的是元素仍然在布局结构中保留其原始大小,并且仅使用关联的转换绘制.
基本上我希望用户点击一个文本块(或其他内容),然后将该文本缩放到它的大小的50%(或其他),并将其粘贴在下面的面板中以指示它已被选中.移动它后,我不希望元素周围有50%的空白.
我已经尝试重新设置高度/宽度,但这会导致元素自身进行新的布局,然后将比例应用于新布局,这仍然会在完成后留下50%的空白区域.我的mozilla特定(为简单起见)代码如下所示:
<script type="text/javascript">
function zap(e) {
var height = e.parentNode.offsetHeight/2 + 'px';
var width = e.parentNode.offsetWidth/2 + 'px';
e.parentNode.style.MozTransform='scale(0.0)';
e.parentNode.addEventListener(
'transitionend',
function() {
var selectionsArea = document.getElementById("selected");
selectionsArea.appendChild(e.parentNode);
e.parentNode.style.MozTransform='scale(0.5,0.5)';
e.parentNode.style.display = 'inline-block';
e.parentNode.style.height = height;
e.parentNode.style.width = width;
},
true)
}
</script>
Run Code Online (Sandbox Code Playgroud)
我真的希望我不必为了达到这个目的而弄清楚负利润或相对定位......
编辑:自写这篇文章以来,我发现了一个非常相似的问题,没有评论或答案.它略有不同,因为我不关心它是一个html5特定的解决方案,我怀疑解决方案要么不存在,要么在CSS/javascript中,无论html级别如何.
使用CSS3变换scale()缩放/缩放DOM元素及其占用的空间
编辑2 :(另一次非工作尝试)
我也尝试过这个,但是缩放和平移函数似乎以一种使最终位置无法预测的方式相互作用......并且变换前的缩放似乎与变换然后缩放相同.不幸的是,这不仅仅是通过比例因子调整翻译的问题......
function posX(e) {
return e.offsetLeft + (e.offsetParent ? posX(e.offsetParent) : 0)
}
function posY(e) {
return e.offsetTop + (e.offsetParent ? posY(e.offsetParent) : 0)
}
function placeThumbNail(e, …Run Code Online (Sandbox Code Playgroud) 我想知道是否有一个标准或"正常"的方法来解释时间间隔数据终点相对于定义终点的值的包容性/排他性.但是请注意,我问的是标准(或最常见)约定是什么(如果有的话),而不是关于个人偏好的论文.如果您确实想要提供论文,请将其附加到某人发布的标准或有关该事项的标准文本的参考文献中.开放标准(我不需要付费阅读)是非常优选的,除非它们有根本缺陷:).
当然,从A到B的时间间隔有4种可能性:
每个都有不同的特点(我看到它,随意指出更多)
[A,B]惯例具有看似不方便的特性,即B包含在[A,B]和[B,C]中.如果B表示午夜边界并且您正试图确定它落在哪一天,这尤其不方便.此外,这意味着间隔的持续时间有点刺激,因为[A,B]其中A = B的长度应为1,因此[A,B]的持续时间为(B - A)+ 1
类似地,(A,B)惯例将难以使B既不属于(A,B)也不属于(B,C)......继续与日界的类比,午夜将是两天的一部分.这在逻辑上也是不方便的,因为[A,B]其中A = B是持续时间小于零的无感区间,但是反转A和B不会使其成为有效区间.
所以我想我想要[A,B]或(A,B),我无法弄清楚如何在它们之间做出决定.
因此,如果某人有标准文档的链接,请参考标准文本或类似内容,以澄清会很好的惯例.或者,如果您可以链接各种标准文档和/或或多或少完全不同意的参考文献,那么我可以选择一个似乎对CMA具有足够权限的文档和完成它:).
最后,我将使用Java,因此我特别容易得到在Java中运行良好的答案.
基本问题是有时我这样做
git pull upstream master
Run Code Online (Sandbox Code Playgroud)
我明白了
remote: Counting objects: 172, done.
remote: Compressing objects: 100% (57/57), done.
remote: Total 119 (delta 45), reused 95 (delta 21)
0 [main] git 8660 fork: child -1 - forked process 4520 died unexpectedly, retry 0, exit code -1073741515, errno 11
error: cannot fork() for index-pack: Resource temporarily unavailable
fatal: fetch-pack: unable to fork off index-pack
Run Code Online (Sandbox Code Playgroud)
退出代码每次都是相同的,对象的数量随着进程数的变化而变化.我在Windows 7上通过ssh运行对github的公钥认证.它发生在有和没有ssh-agent的情况下.我已经有几个月的这个问题了,并且当它出现时,切换到运行Git Bash(MingW32)来解决这个问题(这几乎每次都有一些存储库,偶尔或从不和其他人一起).但是我通常更喜欢Cygwin环境并且我的大部分东西都设置在那里,所以当我被迫这样做时,这是一个拖累.
前段时间我看过这篇文章http://cygwin.com/ml/cygwin/2012-03/msg00025.html,看完后希望下次我更新Cygwin时修复这个问题也能解决我的问题.它没有,但我不确定修复程序是否已发布,但我今天再次更新并且它正在发生.
我注意到很多关于网络上Cygwin git的fork()错误的电子邮件,虽然没有拉动,所以我的问题是,有没有人在拉过之前看过这个,是什么原因引起的?有没有办法阻止它发生(除了修补git或cygwin或使用其他一些实现课程:)).
有趣的是,我没有看到任何错误,我可以在网上找到相关的Cygwin/git邮件.
我一直在黑客和谷歌搜索一段时间,我发现了几个statck溢出线程,似乎它们是为旧版本的intellij编写的,带有各种应用程序服务器.通常他们会告诉你进入
java -Xdebug -Xrunjdwp:transport=dt_socket,address=51887,suspend=n,server=y
Run Code Online (Sandbox Code Playgroud)
一个答案建议使用像
-agentlib:jdwp:transport=dt_socket,address=51887,suspend=n,server=y
Run Code Online (Sandbox Code Playgroud)
但后来我明白了:
Error occurred during initialization of VM
Could not find agent library: libjdwp:transport.jnilib (searched /Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Libraries:/System/Library/Java/Extensions:/Library/Java/Extensions:.)
Run Code Online (Sandbox Code Playgroud)
然后在上面的一个或另一个之后,他们告诉你类似"编辑配置>码头>远程并输入localhost,51887"(端口号不同)
但是在12中,您选择远程后登陆的页面有很多选项,并且要求JNDI端口,而不是另一个选项卡上的jdwp端口,它实际上建议使用上面的jdwp参数.
研究JNDI端口位,通常会产生指令,将这样的args添加到命令行中......
-Dcom.sun.management.jmxremote= \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false\
Run Code Online (Sandbox Code Playgroud)
我也是这样做的,我可以看到java持有的端口1099(使用lsof),我可以telnet到1099,所以我知道JVM正在监听.(我们尽量不要担心,这似乎就是说,打开一个端口,任何人都可以通过网络在没有密码的情况下通过网络安装任意java代码)
但是,在Intellij中,每当我尝试部署和调试它时,都会给出以下消息:

当我使用wireshark窥探端口1099时,我可以看到1099以上的Java RMI通信(但它们难以辨认).显然,Intellij的通信并不令人满意,所以我想知道我是否需要对Jetty做些什么才能让它发挥得淋漓尽致.请注意,改变Jetty版本目前不是一个选项,所以我们不要去那里:).
我也尝试删除工件,禁用make,并尝试只连接调试器,但它仍然给我相同的红色气球和错误消息,所以显然JNDI(端口1099)部分是必需的.
有没有人看到我做错了什么,或者知道我应该做些什么来让它发挥作用?
(我想知道它是否与此类似:http://youtrack.jetbrains.com/issue/IDEA-65746 jboss问题)
编辑:感谢这个谷歌小组的帖子我发现,如果你没有指定编辑配置> +> jetty> remote,可以连接调试器,而是选择编辑配置> +>远程,但调试和部署正是我所追求的只有半个解决方案.
我有一个contenteditable div,每个textchange后都通过javascript编辑内容(textchange.js)比如添加html标签(只有span-tags用于更改某些单词的颜色)以及在这里和那里添加或删除一些空格,但我的问题是因为内容在用户编辑时被更改,所以插入符改变其位置在每次按键之后,几乎不可能写出单个单词.我正在寻找一种防止这种跳跃的方法,我已经考虑过添加一个特殊的字符串,在编辑它之前不会被用作插入符号位置的一种标记,将其删除当完成并将插入符号放回到这个位置时,但由于我正在使用正则表达式(目前每次文本更改后大约25次),这个特殊字符几乎会毁掉它们中的每一个,我将不得不添加类似的东西\x40? 每个地方,根本不会看起来漂亮和清晰:
/\s<span class="b0">hello\sworld</span>/g
Run Code Online (Sandbox Code Playgroud)
至:
/\s\x40?<span class="b0">\x40?h\x40?e\x40?l\x40?l\x40?o\x40?\s\x40?w\x40?o\x40?r\x40?l\x40?d\x40?</span>/g
Run Code Online (Sandbox Code Playgroud)
我不知道它是否有帮助,但这里有一个关于如何更改内容的示例(在每次按键之后):
foo +++ <span class="c3">bar</span> - baz -<span class="c0">qux</span>
Run Code Online (Sandbox Code Playgroud)
至:
<span class="c1">foo</span> + <span class="c3">bar</span> - <span class="c1">baz</span> * <span class="c0">qux</span>
Run Code Online (Sandbox Code Playgroud)
对于如何解决这个问题的每一个建议,提示或提示,或者更好的方法来做这个标记,我将不胜感激.
谢谢 :)
有没有人有一个简明的摘要链接到什么使得portlet"JSR-286兼容"与仅仅"符合JSR-168".我有一个规范的副本,这是简洁的,所以链接规范不是一个有用的答案.我已经在网上搜索了一个小时,我发现没有什么是清楚的(除了规范,当然要求你也阅读以前的规范,然后从"必需"中删除"新功能"合规性".
特别是我发现在web.xml的必要性上存在相当多的混乱,这似乎来自使用Liferay的人并且没有意识到Liferay正在为他们放入web.xml.
JSR-286 portlet在WAR文件中是否需要web.xml文件?
我真正喜欢的是包含以下一个或多个列表的内容:
您可以在列表中留下"使用portlet-app_2_0.xsd",因为我认为这部分很明显.
我愿意接受这样的答案:除了portlet.xml的DTD/xsd之外,两个列表都是空的,区别仅在于门户网站支持的内容,但请用链接或其他引用来支持该断言.
我关心的原因是我在Liferay中看到关于Vaadin portlet的帖子暗示某些功能不适用于JSR-168 portlet ......也可能是Liferay中的某些逻辑根据它看到的portlet.xml版本切换,但我还没有证实这样做也是有趣的信息,但不是我的问题的答案.
我的问题很简单:
如何用""取代"\ " ???
我试过这个:
str.replaceAll("\\", "");
Run Code Online (Sandbox Code Playgroud)
但我得到例外
08-04 01:14:50.146: I/LOG(7091): java.util.regex.PatternSyntaxException: Syntax error U_REGEX_BAD_ESCAPE_SEQUENCE near index 1:
Run Code Online (Sandbox Code Playgroud)