source

경고: [bootstrap]클래스 경로가 -source 1.5와 함께 설정되지 않음

manysource 2022. 11. 24. 21:42

경고: [bootstrap]클래스 경로가 -source 1.5와 함께 설정되지 않음

빌드 타임에 경고 메시지가 표시됩니다.

경고: [bootstrap]클래스 경로가 -source 1.5와 함께 설정되지 않음

어떻게 하면 고칠 수 있죠?

블로그 투고 내용:

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에서 테스트 완료.

현재 Linux Mint 17.1에서 JDK 1.8을 탑재한 Netbeans IDE 8.0.2를 실행하고 있으며, Linux Mint 17.1은 Java - version = 1.7.0_65입니다.JAR 파일을 실행하려면 my Project > Properties > 를 설정해야 합니다.소스/바이너리 형식: JDK 7. 단, 빌드(my Project > Clean and Build) 시 동일한 경고가 표시되었습니다.warning : [ options ]부트스트랩 클래스 경로가 -source 1.7과 함께 설정되지 않았습니다.

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

이를 수행하려면 my Project > Properties > Libraries 순으로 이동하여 Manage Platforms...를 클릭합니다.버튼을 클릭합니다.[ Java Platform Manager ]창에서 [Add Platform...]을 클릭합니다.[ Java Standard Edition ]를 선택하고 [Next]를 클릭하여 /usr/lib/jvm/java-7-openjdk-amd64(또는 JDK 1.7 버전의 위치)를 찾습니다.플랫폼 이름이 JDK1.7로 설정됩니다.Finish(종료)를 클릭하면 완료됩니다.

이제 프로젝트 속성에서 Java 플랫폼을 선택할 수 있습니다.[ JDK 1 . 7 ]를 선택하고 [Clean and Build: no any warning]를 실행함으로써 :-)

이 경고는 -Xlint 패밀리 내의 새로운 JDK 7 서브옵션(-Xlint:-options 등)으로 비활성화 할 수 있습니다.

$ javac - source 1.5 - Xlint : - options example . 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>

Apache NetBeans IDE 를 사용하고 있는 경우는, 다음의 순서에 따릅니다.

1 - 다음 위치에서 선택된 Java 버전을 확인합니다.

Menu Bar -> Tools -> Options -> Java -> Java Platform

2 - 다음 위치에서 동일한 Java 버전 선택:

Menu Bar -> Run -> Set Project Configuration -> Customize... -> Sources -> Source/Binary Format
  1. JDK 다운로드(경고 문서 버전) -> 설치

  2. 프로젝트 우클릭 -> 속성 -> 라이브러리 -> Java 플랫폼 (설치된 JDK 추가) -> OK

언급URL : https://stackoverflow.com/questions/7816423/warning-options-bootstrap-class-path-not-set-in-conjunction-with-source-1-5