默认情况下,TestNG 禁止从不安全的 URL 加载 DTD

时间:2021-07-02 11:47:07

标签: java xml intellij-idea testng

两天前一切正常,然后我将 intellij 降级到 2020 年,现在出现此错误。我检查了我的 testNG xml,它有以下代码,带有 https。我已经尝试添加参数 -Dtestng.dtd.http=true,并且我在 testng 模板下仍然有那个 JVM 参数

`<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<!-- Change "false" to run sequentially, "methods" "classes" or "instances" to run tests in parallel. -->
<suite name="FASTNET Suite">
    <listeners>
        <listener class-name="regression.base.AnnotationTransformer"/>
    </listeners>
    <test name="TestMethod">
        <classes>
            <class name="regression.login.FastnetLogin"/>
            <class name="regression.logout.Logout"/>
            <class name="regression.calculation.MonitorCalculation"/>
            <class name="regression.calculation.CARMonitorCalculation"/>
            <class name="regression.calculation.ScalingFactorMonitorCalculation"/>
            <class name="regression.calculation.EvaluationCalculation"/>
            <class name="regression.calculation.ScalingFactorEvaluationCalculation"/>
            <class name="regression.cdsintegration.AssetPricing"/>
            <class name="regression.export.ExportData"/>
            <class name="regression.supportnonusdcashinbdf.TestSingleNonUSDCashNormalBDFConverted"/>
        </classes>
    </test>
</suite>`

不确定为什么会出现此错误。

`org.testng.TestNGException: 
TestNG by default disables loading DTD from unsecured Urls. If you need to explicitly load the DTD from a http url, please do so by using the JVM argument [-Dtestng.dtd.http=true]
    at org.testng.xml.TestNGContentHandler.resolveEntity(TestNGContentHandler.java:115)
    at com.sun.org.apache.xerces.internal.util.EntityResolverWrapper.resolveEntity(EntityResolverWrapper.java:110)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.resolveEntityAsPerStax(XMLEntityManager.java:995)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1179)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1073)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:974)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:507)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:867)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:796)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:142)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:644)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:328)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:196)
    at org.testng.xml.XMLParser.parse(XMLParser.java:39)
    at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:16)
    at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:9)
    at org.testng.xml.Parser.parse(Parser.java:162)
    at org.testng.xml.Parser.parse(Parser.java:248)
    at org.testng.TestNG.parseSuite(TestNG.java:322)
    at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:374)
    at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:39)
    at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:110)

Process finished with exit code -1`

1 个答案:

答案 0 :(得分:0)