当前使用版本

mybatis最新版本

重现步骤

构建native-image运行,没有什么问题,但是构建docker镜像的时候,不管怎么设置JVM,都好像不起作用。有人构建过吗?

<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>3.2.0-M1</version>
                <configuration>
                    <pullPolicy>NEVER</pullPolicy>
                    <runImage>paketobuildpacks/run:1.3.129-tiny-cnb</runImage>
                    <image>
                        <builder>paketobuildpacks/builder:0.1.390-tiny</builder>
                        <env>
                            <BP_NATIVE_IMAGE_BUILD_ARGUMENTS>
                                --enable-url-protocols=http
                            </BP_NATIVE_IMAGE_BUILD_ARGUMENTS>
          <BPE_DELIM_JAVA_TOOL_OPTIONS xml:space="preserve"> </BPE_DELIM_JAVA_TOOL_OPTIONS>
                            <BPE_APPEND_JAVA_TOOL_OPTIONS>-Djavax.xml.accessExternalDTD=all</BPE_APPEND_JAVA_TOOL_OPTIONS>
                        </env>
                    </image>
                    <jvmArguments>-Djavax.xml.accessExternalDTD=all</jvmArguments>
                </configuration>
            </plugin>

https://github.com/nieqiurong/mybatis-native-demo/commit/203395c23bfcf2b215d7dd509ca68d19301f8f3b

报错信息


    at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:80)

    ... 53 common frames omitted

Caused by: org.xml.sax.SAXParseException: External DTD: Failed to read external DTD 'mybatis-3-mapper.dtd', because 'http' access is not allowed due to restriction set by the accessExternalDTD property.

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1465)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1148)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1040)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:943)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:247)

    at java.xml@17.0.7/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342)

    at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:260)