카테고리 보관물: Java

Java

경고 : [옵션] 부트 스트랩 클래스 경로가 -source 1.5와 함께 설정되지 않았습니다. : [옵션] 부트 스트랩

빌드 타임에 경고 메시지가 나타납니다!

경고 : [옵션] 부트 스트랩 클래스 경로가 -source 1.5와 함께 설정되지 않았습니다.

어떻게 고칠 수 있습니까?



답변

A로부터 블로그 게시물 :

JDK N에서 javac를 사용하여 이전 컴파일러 버전으로 크로스 컴파일러에 사용하려면 올바른 방법은 다음과 같습니다.

  • 이전 -source 설정을 사용하십시오.
  • 이전 플랫폼의 rt.jar (또는 동등한 플랫폼)에 대해 컴파일되도록 bootclasspath를 설정하십시오.

두 번째 단계를 수행하지 않으면 javac는 새 라이브러리와 결합 된 이전 언어 규칙을 적절하게 사용하므로 존재하지 않는 메소드에 대한 참조가 포함될 수 있으므로 이전 플랫폼에서 작동하지 않는 클래스 파일이 생성 될 수 있습니다.


답변

bootclasspath 사용법

javac -bootclasspath /usr/lib/jvm/java-7-oracle/jre/lib/rt.jar \
      -source 1.7 Main.java

UNIX 시스템에서 다음을 rt.jar사용하여 찾으십시오 .

locate -r '/rt.jar$'

에 위치 JAVA_HOME하도록 설정 한 후 다음을 수행하십시오.rt.jar$JAVA_HOME/jre/lib/rt.jar

javac -source 1.7 -bootclasspath "$JAVA_HOME/jre/lib/rt.jar" Main.java

Oracle Java 7 및 8 용 Ubuntu 14.04에서 테스트되었습니다.


답변

현재 java -version = 1.7.0_65 인 Linux Mint 17.1에서 JDK 1.8과 함께 Netbeans IDE 8.0.2를 실행하고 있습니다. JAR 파일을 실행하려면 myProject> Properties> Source / Binary Format : JDK 7을 설정해야했습니다. 그러나 빌드 할 때 (myProject> Clean and Build) 비슷한 경고가 나타납니다. -source 1.7과 함께.

해결책은 Linux Mint JDK1.7 플랫폼을 Netbeans 플랫폼 목록에 추가하는 것입니다.

myProject> 속성> 라이브러리로 이동하여 플랫폼 관리 … 버튼을 클릭하면됩니다. 그런 다음 Java 플랫폼 관리자 창에서 플랫폼 추가 …를 클릭하고 다음을 선택하십시오. Java Standard Edition, 다음을 클릭하고 / usr / lib / jvm / java-7-openjdk-amd64 (또는 JDK 1.7 버전의 위치가 무엇이든)를 찾으십시오. ). 플랫폼 이름이 JDK1.7로 설정됩니다. 완료를 클릭하면 완료됩니다.

이제 프로젝트 특성에서 Java 플랫폼을 선택할 수 있습니다. JDK1.7을 선택하고 Clean and Build를 실행하면 더 이상 경고가 표시되지 않습니다. 🙂


답변

-Xlint 제품군 -Xlint : -options에 새로운 JDK 7 하위 옵션을 사용하여 경고를 비활성화 할 수 있습니다. 예 :

$ javac -source 1.5 -Xlint : -options 예제 .java

출처 : https://blogs.oracle.com/darcy/entry/bootclasspath_older_source

http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html#xlintwarnings

-Xlint 옵션으로 활성화 또는 비활성화 할 수있는 경고

-Xlint : name 옵션을 사용하여 경고 이름을 활성화하십시오. 여기서 name은 다음 경고 이름 중 하나입니다. 마찬가지로 -Xlint : -name : … 옵션을 사용하여 경고 이름을 비활성화 할 수 있습니다.

옵션 명령 행 옵션 사용과 관련된 문제에 대해 경고합니다. 이러한 종류의 경고의 예는 크로스 컴파일 예를 참조하십시오.


답변

jdk 버전과 Java 컴파일러 소스 버전이 동일한 지 확인하십시오. 예를 들어 maven을 사용하고 있고 JDK 9를 사용하여 프로젝트를 설정 한 경우 다음 pom 코드 조각은 위의 경고를 통과합니다.

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

소스 / 대상 버전을 9로 수정하면 다음과 같이 경고가 수정됩니다.

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

답변

  1. JDK 다운로드 (경고 버전) -> 설치

  2. 프로젝트-> 특성-> 라이브러리-> Java 플랫폼을 클릭하십시오 (설치된 JDK 추가) -> 확인


답변