Programing

오류 : java : javacTask : 소스 릴리스 8에는 대상 릴리스 1.8이 필요합니다.

lottogame 2020. 9. 29. 07:11
반응형

오류 : java : javacTask : 소스 릴리스 8에는 대상 릴리스 1.8이 필요합니다.


IntelliJ IDE를 사용하면 프로젝트를 컴파일 할 수 없습니다. 아래 설정 스크린 샷 :

중고 JDK :

http://gyazo.com/b6e32119af7b04090d890cad04db6373

프로젝트 SDK 및 언어 수준 :

http://gyazo.com/55a5fc9f7f2bb721a04780ce9d74eeab

언어 수준 :

http://gyazo.com/143bffad63fd89cafc231298729df2fc

아무도 아이디어가 있습니까?


  1. 파일> 설정> 빌드, 실행, 배포> 컴파일러> Java 컴파일러
  2. 대상 바이트 코드 버전작업중인 모듈의 1.8변경하십시오 .

Maven을 사용하는 경우

pom.xml최상위 project노드 아래에 컴파일러 플러그인을 추가 합니다.

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

(댓글에서 게양.)

참고 : 프로젝트를 다시 가져 오는 것이 마음에 들지 않는다면 실제로해야 할 일은 pom을 변경하고 프로젝트를 다시 가져 오는 것뿐입니다. 그러면 IntelliJ가 올바른 설정을 선택하므로 수동으로 변경할 필요가 없습니다.


설정으로 이동하여 Java 컴파일러에서 다음을 설정해야합니다. 여기에 이미지 설명 입력

프로젝트 설정도 확인하십시오.


이것은 컴파일러 플러그인이 올바르게 구성되지 않았을 때 Maven이 생성하는 일종의 오류처럼 보입니다. 다음은 Java 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">

<!-- ... -->

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

<!-- ... -->

</project>

내가 찾은 가장 빠른 방법 :

  • 누르기 : CTRL+ SHIFT+ A(Mac의 경우 + SHIFT+ A)
  • 유형: java compiler
  • 프레스: ENTER

설정 창에서 대상 바이트 코드를 1.8로 설정하십시오.

(또는 java9의 경우 9 )


이 문제를 해결하는 방법에는 두 가지가 있습니다.

  1. 설정 설정 (File -> Settings -> Build, Execution, Deployment -> Java Compiler):여기에 이미지 설명 입력
  2. 에 빌드 섹션을 추가하십시오 pom.xml.여기에 이미지 설명 입력

Maven에 대한 많은 답변이 맞지만 플러그인을 직접 구성 할 필요는 없습니다.

Apache Maven 컴파일러 플러그인 위키 페이지설명 된 것처럼 플러그인에서 사용하는 2 개의 속성 만 설정할 수 있습니다.

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>

Project Structure- > Modules 로 이동하여 문제의 모듈을 찾은 다음 Dependencies 탭을 클릭 Module SDK하고 Project SDK.


대상 컴파일 버전을 1.8로 변경하여 수정했습니다. 그것의 :

파일 >> 설정 >> 빌드, 실행, 배포 >> 컴파일러 >> Java 컴파일러


로 이동 하여 필요한 수준으로 /.idea/compiler.xml변경 target해야 jdk합니다.

여기에 이미지 설명 입력


내 POM 파일을 수정하여 수정했습니다. 가장 많이 득표 한 답변 아래의 마지막 댓글을 확인합니다.

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
</plugin>

소스는 대상과 일치해야합니다.


제 경우 에는 프로젝트의 .iml 파일 (프로젝트 루트 폴더에 있으며 프로젝트 이름과 이름이 같음)을 열고 <orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />을 다음 과 같이 변경 하여이 문제를 해결했습니다.<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />

나는 다른 답변에서와 같이 모든 것을 구성했지만 어떤 이유로 Idea가 .iml 파일을 잘못 업데이트했습니다.


Maven 버튼을 다시 가져 오면 오류가 사라졌습니다.

여기에 이미지 설명 입력


Android-studio 1.3으로 작업하는 경우 아래 단계를 따르십시오.

파일로 이동 - 프로젝트 구조

아래 모듈 - 응용 프로그램 - 등록 정보 탭을 선택 소스 호환성 - 1.8

대상 호환성 - 1.8 .

그리고 당신은 갈 수 있습니다.


compiler.xml 파일에서 다음을 찾을 수 있습니다.

<bytecodeTargetLevel>
  <module name="your_project_name_main" target="1.8" />
  <module name="your_project_name_test" target="1.8" />
</bytecodeTargetLevel>

목표 값을 이전 값에서 새 값으로 변경할 수 있습니다. 1.5에서 1.8로 변경해야했습니다.


나는 똑같은 문제로 고군분투하는 동안 잠시 보냈습니다. 나를 위해 일한 유일한 것은 빌드 된 mvn (3.3.9)을 사용하지 않고 외부 다운로드 버전 (3.5.0)을 가리키는 것입니다. 마침내 프로젝트가 열렸고 모든 것이 좋았습니다.


Gradle 앱 수준 파일에서 >> compileOptions이 두 줄을 추가합니다.

android {
  compileOptions {
    ...
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
    ...
   }
}

나에게 문제는 Maven이 적절한 구성을 찾을 수 없다는 것이 었습니다. 이러한 항목은 부모 pom에 지정 되었기 때문입니다.

파일-> 설정-> 빌드, 실행, 배포-> Maven-> 사용자 설정 파일을 변경하여 적절한 리포지토리를 사용하여 내 사용자 지정 설정을 가리 키도록하면 숨겨져 있던 문제가 해결되었습니다.

도움말-> 탐색기에 로그 표시-> 로그 파일 클릭을 통해 문제를 발견했습니다. 이전에는 제목에 오류가 있고 콘솔에 "java.lang.NullPointerException"만 표시되었습니다.


문제의 해결책은 매우 간단합니다 . İdea 프로젝트에서 .idea / compiler.xml 파일 을 열고

적절한 대상 버전을 작성해야합니다.


IntellijMaven을 사용하여 Intellij가 프로젝트를 자동으로 가져 왔는지 확인해야합니다. 에디터 오른쪽의 Maven 탭을 클릭하여 확인할 수 있습니다.

여기에 이미지 설명 입력

프로젝트가 여기에 없으면 pom.xml을 클릭 하여 파일 을 추가합니다 +.

분명히 프로젝트에는 관련성이 있어야합니다 <build/>.

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

다른 답변이 작동하지 않으면 모듈 SDK를 확인하십시오 .

프로젝트 SDK를 1.8로, Javac 컴파일러를 1.8로 업데이트 한 후이 오류가 발생했습니다. 저에게 문제가 된 설정은 "모듈 SDK"였습니다.

로 이동 (리눅스) File > Project Structure...창이 열리면 다음, 선택 Modules에 따라 Project Settings. 목록에서 해당 모듈을 선택한 다음 Dependencies탭을 선택하고 Module SDK적절하게 설정 되었는지 확인하십시오 .


위의 모든 사항을 확인했지만 오류가 계속 발생합니다.

하지만 내 경우에는 모든 maven 프로젝트 (Maven 프로젝트 패널 내부의 다시로드 버튼)를 다시 가져옵니다.


모듈에 대한 종속성을 설정하는 것을 잊지 마십시오. 여기에 이미지 설명 입력


이 문제는 모듈이 Annotation 프로세서로 구성되어 있고 다른 모듈이 구성되어 있지 않은 경우 발생합니다. 순환 종속성이 될 수 있으므로 모든 모듈에 대해 동일한 구성을 설정하십시오.

참고 URL : https://stackoverflow.com/questions/29888592/errorjava-javactask-source-release-8-requires-target-release-1-8

반응형