maven 在pom.xml中设置JVM参数的一般方法,与所使用的插件无关

yacmzcpb  于 12个月前  发布在  Maven
关注(0)|答案(1)|浏览(173)

我有一个Maven项目,它在org.codehaus.mojo.xml-maven-plugin(版本1.0.2)的帮助下使用XML转换生成代码。
但是,当运行时,它超过了100的操作员限制:

JAXP0801002: the compiler encountered an XPath expression containing '101' operators that exceeds the '100' limit set by 'FEATURE_SECURE_PROCESSING'.

字符串
我知道我可以通过在命令行设置-Djdk.xml.xpathExprOpLimit=500来解决这个问题,但是有没有一种方法可以在pom.xml文件中的一个普通的地方设置它呢?
我知道一些插件如surefire有这种可能性。但是那些没有的插件呢?有没有一种方法可以在POM中实现这一点,而不必在每次运行时在命令行中指定它?

Apache Maven 3.6.3
Java version: 11.0.19, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64


完整的POM文件可以在这里找到:https://github.com/david-gibbs-ig/quickfixj/blob/9eff0b69f90ef205ace736bc7fa32784fe3185f3/quickfixj-base/pom.xml#L75
相关章节:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>xml-maven-plugin</artifactId>
    <executions>
        <execution>
        <id>extractRequiredFields</id>
        <phase>generate-sources</phase>
        <goals>
            <goal>transform</goal>
        </goals>
        <configuration>
            <transformationSets>
                <transformationSet>
                    <dir>${project.basedir}/../quickfixj-orchestration/target/generated-resources</dir>
                    <outputDir>${project.build.directory}/generated-resources/extracted</outputDir>
                    <includes>
                        <include>${orchestra.file}</include>
                    </includes>
                    <stylesheet>${project.basedir}/src/main/xsl/extractRequiredFields.xsl</stylesheet>
                </transformationSet>
            </transformationSets>
        </configuration>
    </execution>
</plugin>

jk9hmnmh

jk9hmnmh1#

这并不完全是我在最初的问题中所要求的,但是我现在已经通过在.mvn/jvm.config文件中设置所需的选项实现了类似的事情。该文件被签入存储库并在 checkout 时检索,因此Maven考虑该文件而不需要更改用户的环境。

相关问题