gpt4 book ai didi

eclipse - Maven Checkstyle 和 Eclipse Checkstyle 使用相同的配置文件报告相似但不同的结果

转载 作者:行者123 更新时间:2023-12-02 10:22:50 24 4
gpt4 key购买 nike

我有一个使用 Tycho 构建的 Eclipse 插件代码库。它使用在依赖 Artifact 中定义的父 POM,该 Artifact 指定 Checkstyle 配置的名称。

我还使用 checkstyle 配置检查了父 pom。我已将 Eclipse 配置为使用与 Maven 构建相同的配置文件。

我发现 Maven 报告列出了 Eclipse 报告未提及的另一项违规行为。

在我正在查看的特定 Java 源文件中,Maven 报告会生成以下列表:

3: warning: Empty line should be followed by <p> tag on the next line.
8: warning: 'package' should be separated from previous statement.
26: warning: First sentence should be present.
31: warning: First sentence should be present.
34: warning: First sentence should be present.
48: warning: First sentence should be present.

对于相同的源文件,使用相同的 Checkstyle 配置文件,Eclipse 会报告除第一个警告之外的所有警告。

如果重要的话,这里是文件的前几行,包括第 3 行:

/*******************************************************************************
* Copyright (c) 2014, 2015 Cisco Systems, Inc. and others. All rights reserved.
* // line 3
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/

讽刺的是,我无法“修复”此警告,因为我们的项目当前为许可证文件指定了特定格式,并且在下一行添加“p”违反了该格式。

无论如何,我的问题不是修复警告,而是理解为什么 Eclipse 和 Maven 在使用相同的 Checkstyle 配置文件时报告的违规行为有所不同。

据我了解,与此违规相关的类别是“JavadocParagraph”。我的 Checkstyle 配置文件包含此类别,但它不会覆盖“allowNewlineParagraph”属性。据推测,该属性的默认值为 true。对我来说,这意味着 Maven 以某种方式决定将此属性设置为“false”,但 Eclpse 仍然看到默认的未指定值“true”。

最佳答案

您似乎遇到了版本冲突。 Maven Checkstyle Plugin 2.16 基于 Checkstyle 6.2,而您的 Eclipse 插件是最新的,使用 Checkstyle 6.16.1 ( source )。

JavadocParagraph检查进行了一些更改(例如6.2中的this one),这些更改将出现在Eclipse插件中,但不会出现在Maven版本中。

因此,您有 3 个选项来解决此问题:

  1. 将 Maven 插件升级到 2.17 - 这似乎是最简单的,但您仍然会使用不同的版本,因此将来可能会遇到其他问题。
  2. 将 Eclipse 插件降级到版本 6.2.x - 这可行,但留下的 Checkstyle 版本相当旧。
  3. 明确指定 Checkstyle 版本(推荐)。因此,您将继续使用最新的 Eclipse Checkstyle 插件,但将 Maven 配置为使用相同版本的 Checkstyle ( instructions )。

关于eclipse - Maven Checkstyle 和 Eclipse Checkstyle 使用相同的配置文件报告相似但不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37126270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com