我一直在寻找Perl内置函数sprintf使用的舍入约定.
我认为它进行了正常的舍入(例如在Java的舍入模式约定中的 ROUND_HALF_UP ),但挖掘进一步证明这是错误的:
> /usr/local/bin/perl5.10.1 -e 'print(sprintf("%.2f", shift @ARGV)."\n");' 0.335
0.34
> /usr/local/bin/perl5.10.1 -e 'print(sprintf("%.2f", shift @ARGV)."\n");' 1.335
1.33
Run Code Online (Sandbox Code Playgroud) 在开始工作之后,在之前的工作中 - 在某些情况下我们希望优雅地终止工作(即,根本不运行工作,但都没有抱怨,即没有例外).当前执行此操作的方式类似于调用jobExecution.stop - 但是,这会导致JobInteruptedException进一步导致logger.error调用.
还有其他更好的程序化替代方案(没有人工干预)吗?
在 drools 规则中,想要测试布尔字段 isValid 的值(注意:字段名称以“is”开头)。出现以下错误:
无法为规则“测试布尔内容”中的“[ClassObjectType class=domain.SpecialObject]”的“isValid”创建字段提取器:[规则名称=“测试布尔内容”]线程“main”中出现异常 java.lang.IllegalArgumentException:无法解析 drl 文件。
然而,规则中的另一个布尔字段“solid”工作得很好。
环境:Drools 版本 - 5.1.1,dialect=mvel
<Drl file>
import deshaw.compliance.regsys.dep.domain.SpecialObject;
dialect "mvel"
rule "Test boolean stuff"
no-loop
when
$obj: SpecialObject(isValid == true) // -->Problematic guy
//$obj: SpecialObject(solid == true) // -->This works fine
then
System.out.println("[SplObject]:Class=" + $obj.class + ";;;obj=" + $obj);
end
<domain object>
public class SpecialObject {
private boolean isValid;
private boolean solid;
public boolean isValid() {
return isValid;
}
public void setValid(boolean isValid) {
this.isValid = isValid;
}
public …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用maven-pmd-plugin(在多模块maven项目中)从pmd中排除某个规则.
做法:
使用excludeFromFailureFile http://maven.apache.org/plugins/maven-pmd-plugin/examples/violation-exclusions.html
理想情况下,我想要为整个产品(基于父包)排除此规则,但是,我正在测试特定类 - 即使这不起作用.
环境
Java 7,Maven 3.0.3
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.1</version>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
<configuration>
<excludeFromFailureFile>exclude-pmd.properties</excludeFromFailureFile>
</configuration>
</execution>
<execution>
<goals>
<goal>cpd-check</goal>
</goals>
<!-- Added explicit execution Id to avoid the below problem -->
<!-- 'build.pluginManagement.plugins.plugin[org.apache.maven.plugins:maven-pmd-plugin].executions.execution.id' must be unique but found duplicate execution with id default @ line 1423, column 36 -->
<id>cpd-check</id>
</execution>
</executions>
Run Code Online (Sandbox Code Playgroud)
exclude-pmd.properties的内容
mycompany.project.classA=UselessParentheses
Run Code Online (Sandbox Code Playgroud)