错误:未知选项:-M在使用maven-jdeps-plugin的模块选项时

时间:2017-10-13 10:36:10

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

我在maven-jdeps-plugin的官方文档中找到了module属性,其中说明了

  

显示包含包

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

尝试使用当前最小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

问。该属性的用途是什么以及如何使用?

1 个答案:

答案 0 :(得分:4)

请参阅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

更新 :这应该通过3.1.1发布的Maven JDeps插件来解决,跟踪器后面跟着](参见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

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