Sonar中用于Java中导入语句的重复代码块
在Sonar 4.5.6(默认设置)中,我看到Sonar中用于Java中导入语句的重复代码块,java,sonarqube,sonarqube-4.5,sonarqube-web,Java,Sonarqube,Sonarqube 4.5,Sonarqube Web,在Sonar 4.5.6(默认设置)中,我看到重复块消息如下 我收到的消息如下所示:- package com.jabong.orchestratorservice.adapter.order.endpoints; import com.jabong.orchestratorservice.adapter.order.request.UpdateOrderStatusReadyShipRequest; public class UpdateOrderReadyShipEndPoint ex
重复块
消息如下
我收到的消息如下所示:-
package com.jabong.orchestratorservice.adapter.order.endpoints;
import com.jabong.orchestratorservice.adapter.order.request.UpdateOrderStatusReadyShipRequest;
public class UpdateOrderReadyShipEndPoint extends BaseOrderEndPoint {
private final static String API_NAME = "setStatusToReadyToShip";
@Override
public String getSourceEndPoint() {
return new StringBuilder("direct:").append(API_NAME).toString();
}
@Override
public String getDestinationEndPoint() {
return new StringBuilder("bean:orderHelper?method=").append(API_NAME).toString();
}
@Override
protected String getName() {
return API_NAME;
}
@Override
protected String getApiInputClassName() {
return UpdateOrderStatusReadyShipRequest.class.getName();
}
}
UpdateOrderStatusReadyShipRequest
也不会导入UpdateOrderReadyShipEndPoint
package com.jabong.orchestratorservice.adapter.order.request;
public class UpdateOrderStatusReadyShipRequest extends BaseOrderRequest {
有人能告诉我这意味着什么吗?重复块规则会在文件级别引发问题。因此,它并不是要告诉您import语句是重复的,而是文件中的某个地方有一个重复的块。如果你向下滚动,你会在左边空白处看到一个垂直的黄色/橙色条。它标记重复块。单击栏以获取块复制位置的详细信息 编辑在较新版本中,复制标记为棕色或灰色。您必须查看(向下滚动)代码。将有一个棕色/灰色的复制标记,如下所示:
另一个类是否导入了这个类?不,它不导入。我的项目中也有同样的问题。使用具有相同覆盖的其他两个类实现的抽象类。声纳发出的信号和这个相同。但事实并非如此。无论如何,我通过替换其中一个类中的方法顺序来摆脱它。很有趣,不是吗?:)@G.Ann-SonarSource团队我在哪里可以找到这个规则的逻辑公共java:DuplicatedBlocks?它在SonarQube中itself@G.Ann-SonarSource团队。了解这是如何工作的会很有趣。sonarqube中有此规则,其他以squid xxxx开头的规则都在sonar-java中。sonar是否使用一些外部库来检查代码重复?@G.Ann-SonarSource团队谢谢你的提示,我已经知道了复制代码是如何工作的。谢谢,我们可以找到你在截图中清楚提到的复制代码块和行。谢谢你救了我一天。代码行上的黄色背景确实令人误解。