当我为我的java项目执行jdprscn时,我发现以下警告消息:
class com/mes/mvc/mes/ApiLogRecord uses deprecated method java/math/BigDecimal::divide(Ljava/math/BigDecimal;I)Ljava/math/BigDecimal;
用于扫描jdprscan的命令:
/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin/jdeprscan --class-path `mvn -f pom.xml -q exec:exec -Dexec.executable=echo -Dexec.args="%classpath"` target/classes > ~/Downloads/bpDeps.txt
来自此错误的实际方法是:
/**
* Convert duration milliseconds to seconds suitable for displaying.
*
* 246 milliseconds -> '0.246 secs'
*/
public String getDurationForDisplay() {
BigDecimal duration = new BigDecimal("" + requestDuration).setScale(3);
duration = duration.divide(new BigDecimal("1000"), BigDecimal.ROUND_HALF_UP);
return "" + duration + " secs";
}
我必须解决这个问题,这里的任何人都可以指导我。
根据文件:https://docs.oracle.com/javase/9/docs/api/java/math/BigDecimal.html#divide-java.math.BigDecimal-int-
已过时。方法除(BigDecimal,RoundingMode)应优先于此遗留方法使用。