【问题标题】:Error: unknown option: -M while using module option of maven-jdeps-plugin错误:未知选项:-M 使用 maven-jdeps-plugin 的模块选项时
【发布时间】:2017-10-13 10:36:10
【问题描述】:

我在maven-jdeps-plugin 的官方文档中找到了module 属性,该属性指出

显示包含包的模块

  • 类型:布尔值
  • 自:JDK 1.9.0
  • 必填:否
  • 用户属性:jdeps.module
  • 默认值:假

尝试将它与当前最小的pom.xml一起使用如下:-

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
                <source>9</source>
                <target>9</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jdeps-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
                <apiOnly>false</apiOnly>
                <failOnWarning>true</failOnWarning>
                <module>true</module>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>jdkinternals</goal> <!-- verify main classes -->
                        <goal>test-jdkinternals</goal> <!-- verify test classes -->
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

我的项目(名为sparkjdk9)在执行时的构建

mvn clean install

这些日志的结果:-

[INFO] --- maven-jdeps-plugin:3.1.0:jdkinternals (default) @ sparkjdk9 ---
[INFO] 
Error: unknown option: -M
Usage: jdeps <options> <path ...>]
use -h, -?, -help, or --help for a list of possible options
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.649 s
[INFO] Finished at: ...
[INFO] Final Memory: 13M/44M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-jdeps-plugin:3.1.0:jdkinternals (default) on project sparkjdk9: 
[ERROR] Exit code: 2
[ERROR] Command line was: /bin/sh -c '/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/bin/jdeps' '-M' '.../sparkjdk9/target/classes'

jdeps 工具中进一步寻找类似的标志,我可以看到错误是有道理的,因为在它的使用中没有这样的标志-M

问。这个属性有什么用,怎么用?

【问题讨论】:

    标签: java maven java-9 jdeps maven-jdeps-plugin


    【解决方案1】:

    https://github.com/apache/maven-plugins/blob/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/AbstractJDepsMojo.java#L322

    -M 以前是模块参数,但现在好像改名为-m/--module

    更新:这应该通过 Maven JDeps 插件的 3.1.1 版本以及跟踪器来解决](请参阅 https://github.com/apache/maven-plugins/blob/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/AbstractJDepsMojo.java#L322

    -M 以前是模块参数,但现在好像改名为-m/--module

    更新:这应该通过 Maven JDeps 插件的 3.1.1 版本解决,如下by the tracker.

    【讨论】:

    • 不确定在哪里提出这个错误,以便添加到跟踪器以供插件修复。另外,我可以看到工具中的-m &lt;module-name&gt;/ --module &lt;module-name&gt; 用于指定要分析的根模块。这是否还需要更改Type pf 属性? (不知道最初使用的是什么构造)
    • 那就是issues.apache.org/jira/browse/MJDEPS
    猜你喜欢
    • 2011-07-30
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 2014-04-20
    • 1970-01-01
    • 2018-06-19
    • 2017-05-20
    • 2014-09-23
    相关资源
    最近更新 更多