: - Связанная ошибка плагина maven преобразуется в запрос новой функции и, вероятно, будет включена в будущие выпуски плагина.

ниеmaven-jdeps-plugin:3.1.0 с Java9, используя следующие минимальныеpom.xml: -

<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
  ,      <artifactId>log4j-api</artifactId>
        <version>2.9.0</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
               <source>1.9</source>
               <target>1.9</target>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jdeps-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>jdkinternals</goal> <!-- verify main classes -->
                        <goal>test-jdkinternals</goal> <!-- verify test classes -->
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

По выполнению

mvn install

Я получаю подробную ошибку, которая гласит следующее:

[INFO] Error: log4j-api-2.9.0.jar is a multi-release jar file but --multi-release option is not set
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.389 s
[INFO] Finished at: ...
[INFO] Final Memory: 12M/41M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-jdeps-plugin:3.1.0:jdkinternals (default) on project maven-jigsaw: 
[ERROR] Exit code: 2
[ERROR] Command line was: /bin/sh -c '/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/bin/jdeps' '-cp' '.../.m2/repository/org/apache/logging/log4j/log4j-api/2.9.0/log4j-api-2.9.0.jar' '../maven/target/classes'

Я не мог найти много релевантности, связанной с--multi-release флаг в любомjdeps:jdkinternals цель подробно изложена на официальном сайте Maven или даже вjdeps орудие труда задокументировано в справочном центре Oracle.

Может кто-нибудь пролить свет на эту реализацию вmaven-jdeps-plugin? Есть ли способ исправить это (установить--multi-release вариант)?

 Nicolai10 окт. 2017 г., 12:01
Ах, похоже, что JDeps создает сообщение об ошибке, которое плагин подхватывает и случайно регистрирует как INFO. Может быть. Попробуйте получить сообщение, просто выполнив JDeps на Log4J-JAR.
 Nicolai10 окт. 2017 г., 11:51
Как вы установили соединение из сообщения об ошибке, что Log4J является MR-JAR, и что это вызывает проблему?
 Naman10 окт. 2017 г., 11:57
@Nicolai Заполните журналы в вопросе сейчас, и добавить к немуINFO это уровень, на котором его чтение, чтоError!! (что-то запутано наверняка)

Ответы на вопрос(2)

комментарий от Николая, Я мог бы заключить, разделив это на две разные проблемы:

Незначительная проблема со стороныmaven-jdeps-plugin что я должен поднять их трекер, где егоРегистрация ошибок jdeps как INFO.

С другой стороны, основная причина вышеуказанной ошибки, когда я пытаюсь выполнить командуjdeps наlog4j-api-2.9.1.jar как-

➜ jdeps ~/.m2/repository/org/apache/logging/log4j/log4j-api/2.9.1/log4j-api-2.9.1.jar

Я получаю следующую ошибку: -

Ошибка: log4j-api-2.9.1.jar является файлом jar с несколькими выпусками, но опция --multi-release не установлена

Это можно отследить наОпция --multi-release не установлена ​​для банки с несколькими релизами.

редактировать: - Правильный способ использования инструмента командной строки@rgoers

Обновить: - Связанная ошибка плагина maven преобразуется в запрос новой функции и, вероятно, будет включена в будущие выпуски плагина.

Решение Вопроса

введите jdeps -? в командной строке. Вы увидите, что вам нужно войти

jdeps --multi-release 9 ~/.m2/repository/org/apache/logging/log4j/log4j-api/2.9.1/log4j-api-2.9.1.jar
 rgoers28 окт. 2017 г., 08:58
«jdeps» - команда, которая выполняется. «-» отображает текст справки для команды, включая все параметры. Вы также можете сделать "jdeps --help"
 Naman28 окт. 2017 г., 09:06
Хотя я позволяю открывать ошибку, связанную с maven. Поскольку лесозаготовка, похоже, замешана в Maven для этого. И если вы можете обновить-? в--help было бы хорошо в ответ.

Ваш ответ на вопрос