由于IntelliJ,我发现需要将以下选项传递给javac
:--add-export jdk.internal.jvmstat/sun.jvmstat.perfdata.monitor.protocol.local=all-unnamed--add-export jdk.internal.jvmstat/sun.jvmstat.jvmstat.monitor=all-unnamed--add-export jdk.internal.jvmstat/sun.jvmstat.monitor=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/
目录来读取运行JVM的pid。
我有一个好消息告诉您,您不再需要LocalVMManager
了。这将用于当前的JVM:
ProcessHandle.current().pid()
访问其他进程的PID:
ProcessHandle
// returns Stream<ProcessHandle>
.allProcesses()
.filter(/* filter to only find JVM processes */)
.map(ProcessHandle::pid)
.collect(toList());
processhandle
API是在Java9中添加的,它为您提供了大量关于OS进程的信息--请检查方法info()
。:)
问题内容: 我有一个Java FX项目,正在使用maven 3.0.5进行构建。当我运行mvn package / install时,项目失败,并抱怨该包javafx。 * 不存在。据我了解,Javafx是用Java 1.7打包的,因此该构建没有接受它是没有意义的。当我在IDE(intellij)中编译它时,它可以正常工作,并且之后我的maven构建也成功安装,但是我不希望每次执行全新安装时都必须
问题内容: 我正在尝试反编译 Java项目(.jar)文件,并且能够从其中获取.java文件。现在如何将其编译回来?我可以将.java文件作为单个文件添加到Netbeans。但是如何将其作为项目添加并编译呢?该项目是JavaFX项目。所以请帮我。 问题答案: 有很多方法可以实现此目的,但是我认为您不能像这样直接在框内(在本例中为开箱)将项目导入jar中。 我们可以使用最基本的技术(我承认有点脏),
问题内容: 我有一个文件和。 当我进行调试构建时,我得到: 如何将添加到基础任务?关于Java编译选项的Gradle插件用户指南无济于事。 问题答案: 我根据有关操作任务的Gradle插件用户指南和有关JavaCompile的Gradle DSL文档 找到了以下解决方案: 添加到: 应用程序变体在Gradle的配置阶段,所需的任务也不存在,因此我在执行阶段进行了修改。
编译选项 选项 类型 默认值 描述 --allowJs boolean false 允许编译javascript文件。 --allowSyntheticDefaultImports boolean module === "system"或设置了--esModuleInterop 允许从没有设置默认导出的模块中默认导入。这并不影响代码的输出,仅为了类型检查。 --allowUnreachableCo
问题内容: 我试图跟踪此编译错误: 如何在我的Maven编译中找到设置?我使用的是普通香草(据我所知)没有设置任何内容。 问题答案: 这是因为您使用的是普通香草,所以您会遇到此问题。 默认情况下,无论您设置为什么,在编译源代码时都会调用,使用Java 5进行编译: 还要注意,当前的默认源设置是1.5,默认目标设置是1.5,与运行Maven的JDK无关。 要使用其他编译器版本(例如Java 8),可
问题内容: 在NetBeans 7.2中,我很难找到如何在Maven项目中使用-Xlint:unchecked进行编译。在Ant项目下,可以通过转到Project Properties-> Compiling来更改编译器标志,但是Maven项目似乎没有任何此类选项。 有什么方法可以使用Maven将IDE配置为使用此类标志进行编译? 问题答案: 我猜您可以在pom.xml中设置编译器参数。请参考