programing

오류 소스 옵션 1.5는 더 이상 지원되지 않습니다.1.6 이후 사용

abcjava 2023. 4. 1. 08:06
반응형

오류 소스 옵션 1.5는 더 이상 지원되지 않습니다.1.6 이후 사용

이 모든 것은 스프링부트 어플리케이션을 구축하려고 할 때 발생합니다../mvnw clean install

install 명령어를 처음 실행하면 다음 문제가 발생합니다.

[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

Stackoverflow에서 문제를 검색하여 우편으로 문제를 해결할 수 있었습니다.

goal org.apache.maven을 실행하지 못했습니다.플러그인: maven-displicate-displicate: 2.3.2: 디폴트 설정(default-displicate)

그러다가 또 다른 문제가 생겼다.

[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.

OS X를 사용하고 있습니다.mvn -v다음에 나타냅니다.

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"

여기 제 폼 파일입니다.

<?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>

이러한 속성을 pom.xml 파일에 추가하여 maven 소스/타깃 버전을 지정할 수 있습니다.

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

이거는 제가 봤을 때마침

  • JDK9 이후를 사용하고 있습니다.
  • 프로젝트에서는 Java 5로 기본 설정된 이전 버전의 maven-compiler-plugin을 사용합니다.

이 문제를 해결하려면 세 가지 옵션이 있습니다.

  1. JDK7 또는 JDK8로 다운그레이드(meh)
  2. maven-compiler-plugin 버전 이후를 사용합니다.

    메모: 3.8.0 이후 기본값은 1.5에서 1.6으로 변경되었습니다.https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#target 를 참조해 주세요.

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
    </plugin>
    
  3. maven-compiler-plugin 에 송신원레벨 6 및 타겟6 이후를 사용하도록 지시합니다.

    https://maven.apache.org/plugins/maven-compiler-plugin/에서 권장하는 베스트 프랙티스

    또한 현재 Maven을 실행하는 JDK와는 별도로 기본 소스 설정은 1.6이고 기본 타깃 설정은 1.6입니다.Java 컴파일러의 -source-target 설정에 설명된 대로 source 및 target을 설정하여 이러한 기본값을 변경하는 것이 좋습니다.

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

    또는 사용

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

이 오류는 플러그인 버전에서도 발생할 수 있습니다.에서 수정할 수 있습니다.다음과 같은 POM 파일:

<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>

에 다음의 설정이 있는 것을 확인합니다.pom.xml파일.

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

저에게 해결책은 maven 컴파일러 플러그인의 버전을 3.8.0으로 설정하고 릴리스를 지정하는 것이었습니다(당신의 경우는 9개, 나의 경우는 11개).

    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.0</version>
      <configuration>
        <release>11</release>
      </configuration>
    </plugin>

나 이거 성공했어!!!!

<?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>academy.learnprogramming</groupId>
    <artifactId>hello-maven</artifactId>
    <version>1.0-SNAPSHOT</version>
<dependencies>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>

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

        </plugin>
    </plugins>
</build>
</project>

IntelliJ의 경우:

  1. 열다.Project Structure(표준;) >Modules>YOUR MODULE-> 언어 수준: 9 를 설정합니다.
  2. 각 모듈에 대해 반복합니다.

스크린샷

"ZipFile invalid LOC header(bad signature)"라는 오류가 표시될 수 있는 jar 파일이 손상되었을 수 있습니다. 오류가 표시된 jar 파일을 모두 삭제하고 이 종속성을 추가해야 합니다.

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

"Source Option 5는 더 이상 지원되지 않습니다.pom.xml을 변경한 후 6 이상 사용"

<java.version>7</java.version>

로.

<java.version>11</java.version>

나중에 그 부동산이 점의 대시 인스톨과 함께 사용되었음을 알게 되었다.

  <source>${java-version}</source>
  <target>${java-version}</target>

점을 대시로 대체하면 오류가 사라집니다.

<java-version>11</javaversion>

프로젝트에 JDK 1.5를 설정해야 하며 모든 종속 프로젝트 또는 jar 파일도 JDK 1.5로 컴파일해야 합니다.

언급URL : https://stackoverflow.com/questions/49028810/error-source-option-1-5-is-no-longer-supported-use-1-6-or-later

반응형