uyarı: [seçenekler] bootstrap sınıf yolu -source 1.5 ile birlikte ayarlanmadı


138

Uyarı mesajını Derleme zamanında alıyorum!

uyarı: [seçenekler] bootstrap sınıf yolu -source 1.5 ile birlikte ayarlanmadı

Nasıl düzeltebilirim?




maven kullanıyorsanız bir çözüm için stackoverflow.com/questions/9164625/… adresine bakın
hoijui 14:14

4
Bu benim maven-enforcer-eklentisi en kullanılan 7'ye bana kaynağına & hedef seti ile Maven yapı içinde Java 8'den string.join kullanılarak bir baş ağrısı neden requireJavaVersion kuralı aralığını uygulamak için <version>[1.7.0,1.7.0-79]</version>hangi azından sonları oldukça a daha net bir mesaj ile inşa karanlık mesaj ile test.
earcam

Yanıtlar:


102

Bir blog gönderisinden :

JDK N'den derleyiciyi eski bir platform sürümüne çapraz derlemek için kullanmak için doğru uygulama:

  • Eski -kaynak ayarını kullanın.
  • Eski platformun rt.jar (veya eşdeğeri) karşı derlemek için önyükleme sınıfını ayarlayın.

İkinci adım atılmazsa, javac, eski dil kurallarını yeni kütüphanelerle birlikte kullanacak ve varolmayan yöntemlere referanslar dahil edilebileceğinden, eski platformda çalışmayan sınıf dosyalarına neden olabilir.


11
Harika, ancak derlemek için sadece eski bir JDK kullanmak daha kolay görünüyor.
dhardy

42

bootclasspath kullanımı

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

UNIX sistemlerinde aşağıdakileri rt.jarkullanarak bulun :

locate -r '/rt.jar$'

Set JAVA_HOMEböylece rt.jarbulunur $JAVA_HOME/jre/lib/rt.jar, sonra:

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

Oracle Java 7 ve 8 için Ubuntu 14.04'te test edildi.


4

Şu anda java -version = 1.7.0_65 olan Linux Mint 17.1 üzerinde Netbeans IDE 8.0.2 ile JDK 1.8 çalıştırıyorum. Bu yüzden JAR dosyalarını çalıştırmak için myProject> Özellikler> Kaynak / İkili Biçimi: JDK 7 ayarlamak zorunda kaldım. Ancak (myProject> Clean and Build) oluştururken benzer bir uyarı aldım: uyarı: [options] bootstrap sınıf yolu ayarlanmadı -kaynak ile birlikte 1.7.

Çözüm, Linux Mint JDK1.7 platformunu Netbeans platform listesine eklemekti.

Bu, Projem> Özellikler> Kütüphaneler'e gidip Platformları Yönet ... düğmesine tıklayarak yapılabilir. Ardından Java Platform Manager penceresinde Platform Ekle ... seçeneğini tıklayın ve şunu seçin: Java Standard Edition, İleri'yi tıklayın ve / usr / lib / jvm / java-7-openjdk-amd64 (veya JDK 1.7 sürümünün konumu ne olursa olsun) ). Platform adı JDK1.7 olarak ayarlanacaktır. Son'u tıklatmanız yeterlidir.

Artık proje özelliklerinde Java platformunu seçebilirsiniz. JDK1.7'yi seçip Clean and Build'ı çalıştırarak: artık uyarı yok. :-)


1
"myProject> Özellikler> Kaynak / İkili Biçim: JDK 7" benim için çalıştı
Doktor Parametre

2

Uyarı, -Xlint ailesi, -Xlint: -options içindeki yeni bir JDK 7 alt seçeneğiyle devre dışı bırakılabilir. Örneğin

$ javac -source 1.5 -Xlint: -seçenek example.java

kaynaklar: https://blogs.oracle.com/darcy/entry/bootclasspath_older_source

ve

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

-Xlint Seçeneğiyle Etkinleştirilebilen veya Devre Dışı Bırakılabilen Uyarılar

Uyarı adını -Xlint: name seçeneği ile etkinleştirin; burada ad aşağıdaki uyarı adlarından biridir. Benzer şekilde, uyarı adını -Xlint: -name: ... seçeneği ile devre dışı bırakabilirsiniz.

options Komut satırı seçeneklerinin kullanımıyla ilgili sorunlar hakkında uyar. Bu tür uyarılar için bkz. Çapraz Derleme Örneği.


38
Lütfen, bunun gibi uyarıları kapatmak için iyi bir fikir olmadığını unutmayın
Alexander Malakhov

9
ancak bazen gerçek uyarılarınızın gizlenmesi için bazı uyarıların yüzlerce çıktı alınmasına karşı devre dışı bırakılması daha iyidir.
Neon

3
Birisi bu uyarıyı göz ardı ederek yanlış giden bir şeye minimal bir örnek verebilir mi?
Ciro Santilli 法轮功 at 病 六四 事件 法轮功


2

Jdk sürümünüzün ve java derleyici kaynak sürümünüzün aynı olduğundan emin olun. Örneğin, maven kullanıyorsanız ve JDK 9 kullanarak projeyi kurduysanız, pom snippet'ini takip etmek yukarıdaki uyarıdan geçecektir

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

Kaynak / hedef sürümün 9 olarak düzeltilmesi uyarıyı aşağıdaki gibi düzeltir

            <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
Bu, yaklaşık bir saat boyunca mücadele ettiğim bir sorunu düzeltti, göremedim.
Rutendo

-2
  1. JDK'yı indirin (yazılı sürüm uyarısında) -> yükle

  2. Projenize sağ tıklayın -> Özellikler -> Kütüphaneler -> Java platformu (kurulu JDK'nızı ekleyin) -> Tamam

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.