web-dev-qa-db-fra.com

ERREUR L'option source 1.5 n'est plus prise en charge. Utilisez 1.6 ou plus tard

Tout se passe lorsque j'essayais de construire une application springboot par ./mvnw clean install

La première fois que j'exécute la commande install, le problème suivant se pose.

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.749s
[INFO] Finished at: Fri Jun 21 02:14:32 IST 2013
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
**[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project spring-social-Twitter4j: Execution default-compile of goal org.Apache.maven.plugins:maven-compiler-plugin:2.3.2:compile failed: A required class was missing while executing org.Apache.maven.plugins:maven-compiler-plugin:2.3.2:compile: org/codehaus/plexus/compiler/CompilerException**
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.Apache.maven.plugins:maven-compiler-plugin:2.3.2
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/SS%20Computer/.m2/repository/org/Apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar
[ERROR] urls[1] = file:/C:/Users/SS%20Computer/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------: org.codehaus.plexus.compiler.CompilerException
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/PluginContainerException

J'ai cherché le problème sur Stackoverflow et j'ai pu le résoudre par la poste.

Impossible d'exécuter le but org.Apache.maven.plugins: maven-compiler-plugin: 2.3.2: compile (default-compile)

Ensuite, j'ai eu un autre problème

[ERROR] Source option 1.5 is no longer supported. Use 1.6 or later.
[ERROR] Target option 1.5 is no longer supported. Use 1.6 or later.

Je suis sous OS X. mvn -v montre:

Maven home: /Users/matthuntington/Desktop/Apache-maven-3.5.0
Java version: 9, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.6", Arch: "x86_64", family: "mac"

Voici mon pom file

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.packtpub.restapp</groupId>
    <artifactId>ticket-management</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>ticket-management</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>


    <dependencies>
            <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.0.1.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <version>1.5.7.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-Tomcat</artifactId>
            <version>1.5.7.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.0.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.0.1.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <version>1.5.7.RELEASE</version>                
        </dependency>   
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>
33
user8389458

Vous pouvez spécifier la version source/cible maven en ajoutant ces propriétés à votre fichier pom.xml.

<properties>
    <maven.compiler.source>1.6</maven.compiler.source>
    <maven.compiler.target>1.6</maven.compiler.target>
</properties>
62
user8389458

Je pense que cela signifie que

  • Vous utilisez JDK9 ou une version ultérieure
  • Votre projet utilise maven-compiler-plugin avec une ancienne version dont la valeur par défaut est Java 5.

Vous avez trois options pour résoudre ce problème

  1. Déclassement à JDK7 ou JDK8 (meh)
  2. Utilisez la version de maven-compiler-plugin ou une version ultérieure, car

    REMARQUE: Depuis la version 3.8.0, la valeur par défaut est passée de 1,5 à 1,6. Voir https://maven.Apache.org/plugins/ maven-compiler-plugin/compile-mojo.html # cible

    <plugin>
        <groupId>org.Apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
    </plugin>
    
  3. Indiquez au maven-compiler-plugin d’utiliser le niveau source 6 et la cible 6 (ou ultérieure).

    Meilleure pratique recommandée par https://maven.Apache.org/plugins/maven-compiler-plugin/

    Notez également qu'actuellement, le paramètre source par défaut est 1.6 et le paramètre cible par défaut est 1.6, indépendamment du JDK avec lequel vous exécutez Maven. Nous vous encourageons vivement à modifier ces valeurs par défaut en définissant la source et la cible, comme indiqué dans la section Définition de -source et -target du compilateur Java.

    <plugin>
        <groupId>org.Apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
    

    ou utiliser

    <properties>
      <maven.compiler.source>1.6</maven.compiler.source>
      <maven.compiler.target>1.6</maven.compiler.target>
    </properties>
    
34
rds

Cette erreur pourrait être aussi pour les versions de plugin. Vous pouvez le réparer dans le fichier . POM comme suit:

<build>
    <plugins>
        <plugin>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.1</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>
5
Community Ans

Il peut y avoir un fichier JAR corrompu pour lequel il peut afficher une erreur "En-tête ZipFile non valide pour LOC (signature incorrecte)". Vous devez supprimer tous les fichiers JAR pour lesquels il affiche l'erreur et ajouter cette dépendance.

 <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>3.0-alpha-1</version>
    <scope>provided</scope>
</dependency>
1
Rohan Pandey

Vous devez définir JDK 1.5 sur votre projet et tous les fichiers de projet ou jar dépendants doivent également être compilés avec JDK 1.5.

0
Pankaj Kumar