当前位置: 首页 > 知识库问答 >
问题:

Checkstyle: CheckstyleException:无法找到但文件存在

易研
2023-03-14

我的Checkstyle配置似乎找不到我的suppressions.xml,但它确实存在并且它使用的filepath有效。我的checkstyle.xml和suppressions.xml都在config/check style中。我的checkstyle.xml有这个:

<module name="SuppressionFilter">
    <property name="file" value="${config_loc}\suppressions.xml"/>
    <property name="optional" value="false"/>
</module>

当我运行gradlew check--stacktrac时,堆栈跟踪显示如下:

Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: Unable to find: C:\Users\ntroncoso\Online Drive\projects\test-project\test-project-sdk\config\checkstyle\suppressions.xml
        at com.puppycrawl.tools.checkstyle.filters.SuppressionsLoader.getSuppressionLoader(SuppressionsLoader.java:287)
        at com.puppycrawl.tools.checkstyle.filters.SuppressionsLoader.loadSuppressions(SuppressionsLoader.java:238)
        at com.puppycrawl.tools.checkstyle.filters.SuppressionsLoader.loadSuppressions(SuppressionsLoader.java:224)
        at com.puppycrawl.tools.checkstyle.filters.SuppressionFilter.finishLocalSetup(SuppressionFilter.java:269)
        at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure(AutomaticBean.java:197)
        at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:477)
        ... 206 more
Caused by: java.io.FileNotFoundException: http://www.puppycrawl.com/dtds/configuration_1_3.dtd
        at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:647)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1304)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1270)
        at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:264)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1161)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1045)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:959)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
        at com.puppycrawl.tools.checkstyle.XmlLoader.parseInputSource(XmlLoader.java:86)
        at com.puppycrawl.tools.checkstyle.filters.SuppressionsLoader.getSuppressionLoader(SuppressionsLoader.java:283)

正如我提到的,我可以将该文件路径复制并粘贴到文件资源管理器中,它就会打开。我也试着硬编码完整的路径,但我得到了同样的错误。我能想到的唯一一件事是\ntroncoso部分。一些系统会将其视为一条新的路线。但通常,错误也会打印新行,所以我觉得这不是问题所在。

共有1个答案

廖琨
2023-03-14

http://www.puppycrawl.com/dtds/configuration_1_3.dtd

这是您真正的错误。您的抑制文件的DTD是错误的。首先,您正在为抑制文件使用配置DTD。其次,木偶抓取域已经过时,并且已经转移到checkstyle.org。

DTD应更改为https://checkstyle.org/dtds/suppressions_1_2.dtd,这是目前Checkstyle最新版本的最新DTD。

请看https://github.com/checkstyle/checkstyle/blob/master/config/suppressions.xml有关正确抑制文件的示例。

 类似资料:
  • 这是颤动医生的结果 : 医生摘要(要查看所有详细信息,请运行flutch Doctor-v):[√] Flutter(Channel stable,v1.12.13 hotfix.9,on Microsoft Windows[Version 10.0.15063],locale en US)[X]Android toolchain-为Android设备开发X Android_HOME=C:\Use

  • 描述: 配置数据源失败:未指定“URL”属性,无法配置嵌入的数据源。 原因:无法确定合适的驱动程序类 为了外部化属性文件,我使用了以下代码。 和的值,并将此代码添加到文件中,用于将文件从我使用的war文件中排除。

  • 问题内容: 我正在使用Maven版本3.6.1 我想在Maven存储库(elasticsearch-rest-high-level-client 7.5.1)中下载工件。我可以在 maven-central-repository search 但是在搜索elasticsearch elasticsearch-rest-high-level-client/7.5.1给出的回购协议时,它们是Centr

  • 现在,我只是尝试读取与Java类存储在同一目录中的文件内容,并访问其长度。但是,每当传递正确的文件名以创建新的对象时,其长度返回为零。我假设这是因为由于某种原因找不到该文件。 我的文件结构如下: 我尝试用,其中等于。

  • 我尝试用以下代码保存从internet下载的文件 但在运行时,我得到的错误如下 03-04 20:42:51.080 8972-8972/com.example.me.demo2 E/BitmapFactory:无法解码流:java.io.FileNotFoundExcoop: /storage/emulated/0/.tanks/4a100abb-0e55-4062-8c37-f11f4189e

  • 我正在使用Eclipse和Java库:Java。伊奥。文件输入流; 我的脚本找不到要使用构造函数FileInputStream分配给变量的文件,即使该文件位于工作目录中。 这是我的代码: 我的输出是(当我注释掉最后一行时)是 “工作目录是:C:\Users\wes\workspace\QTI_crud是的,文件确实存在SRC现在是:C:\Users\wes\workspace\QTI_crud\v