Fejl:log4j-api-2.9.0.jar er en multi-release jar-fil, men -multi-release-indstillingen er ikke indstillet
Udforsker maven-jdeps-plugin:3.1.0
med Java9 ved at bruge følgende minimale 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>
Ved udførelse af
mvn install
Jeg ender med at få en detaljeret fejl, der lyder følgende:-
[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'
Jeg kunne ikke finde meget relevans relateret til --multi-release
flag i enten jdeps:jdkinternals
mål detaljeret på Mavens officielle side eller endda i jdeps
værktøj dokumenteret i Oracle Help Center.
Kan nogen kaste lys over denne implementering i maven-jdeps-plugin
? Er der en måde at løse dette på (indstil --multi-release
mulighed)?
Svar
Dette er en brugerfejl. Indtast venligst jdps -? på kommandolinjen. Du vil se, at du skal indtaste
jdeps --multi-release 9 ~/.m2/repository/org/apache/logging/log4j/log4j-api/2.9.1/log4j-api-2.9.1.jar