java - 无法使用maven传递java编译器参数

标签 java maven plugins

正如标题所说,我无法使用 maven 将命令行参数传递给 java 编译器,我使用的是 maven-compiler-plugin去做,并相应地this (专门针对插件的 compilerArgs 选项)我正在使用“最新方式” 来指定传递给编译器的参数。好吧,更多代码,这是我的插件 maven 配置,我不确定我做错了什么:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <fork>true</fork>
                <compilerArgs>
                    <arg>-parameters</arg>
                </compilerArgs>
            </configuration>
        </plugin>
    </plugins>
</build>

我正在按照说明 <fork> 的工具使用说明进行操作必须设置为 true,我不知道我错过了什么......请提供一点帮助?

提及以下内容可能有帮助,也可能没有帮助:我需要 parameters指定参数 here因为我想在运行时使用反射获取我的方法中的参数名称;我在调用 maven 查看调试时使用 -X 参数,我向我展示了它执行的“fork”调用,我无法在任何地方使用我传递的参数(也许我需要启用插件;但我认为在这个案例是自动启用的,因为它不是任何配置文件的一部分,我不是专家,所以如果我错了请纠正我)。

编辑:我已经尝试了几种有和没有破折号的方法我什至尝试过“旧方法”来做到这一点:

<compilerArguments>
  <parameters />
</compilerArguments>

并且:

<compilerArgument>-parameters</compilerArgument>

最佳答案

我的错误:我在修改我的 pom 文件之前创建了代码,然后使用 maven 运行它来检查它是否确实有效。 在那之后,我修改了我的 pom 以包含 -parameters 标志。代码已经编译没有那个标志并且之后没有被修改。因此,maven 没有看到代码有任何变化,也没有重新编译文件。

解决方案 执行mvn clean,删除已编译的类,删除target 文件夹,或任何确保文件正确的必要操作重新编译。

关于java - 无法使用maven传递java编译器参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31345295/

相关文章:

java - Android Studio 无法打开项目

Maven - 调整运行报告部分中声明的插件的阶段

maven - 如何查找 pmd 规则集的 xml 名称

javascript - 在我的 ASP.NET Webforms 应用程序中实现 Slider Revolution

ruby-on-rails - 通过插件访问Redmine Controller

java - Spring 3注解

java - hibernate HQL 查询 : How to set a Collection as a named parameter of a Query?

java - imageview 的位图错误

java - Maven 3.8.0 编译器 - 编译时出现 fatal error : release version 11 not supported

css - Facebook HTML5 事件提要自定义 css