maven用编译器编译选项--add exports

unhi4e5o  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(1178)

所以我最终转向Java15,发现我的旧代码不再编译了。我使用包中的类 sun.jvmstat.monitor 和阶级 LocalVmManager 检索系统中运行的所有jvm的pid:这在java8上工作,但在java15上不再工作了(我认为它在java9之后就不工作了)。
多亏了intellij,我发现我需要将以下选项传递给 javac : --add-exports jdk.internal.jvmstat/sun.jvmstat.perfdata.monitor.protocol.local=ALL-UNNAMED --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor.event=ALL-UNNAMED 事实上,通过这个选项,我可以通过命令行编译。但我也想通过 mvn compile . 如何在pom.xml中为编译器指定选项?
我尝试了以下方法但没有成功:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <release>15</release>
                <compilerArgs>
                    <arg>--add-exports</arg>
                    <arg>jdk.internal.jvmstat/sun.jvmstat.perfdata.monitor.protocol.local=ALL-UNNAMED</arg>
                    <arg>--add-exports</arg>
                    <arg>jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED</arg>
                    <arg>--add-exports</arg>
                    <arg>jdk.internal.jvmstat/sun.jvmstat.monitor.event=ALL-UNNAMED</arg>
                </compilerArgs>
                <fork>true</fork>
            </configuration>
        </plugin>

同时,我将更改代码,并通过扫描 /proc/ 目录。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题