2011-10-19 9 views
111

Ricevo il messaggio di avviso in fase di compilazione!: [opzioni] percorso classe bootstrap non impostato insieme a -source 1.5

avvertimento: [opzioni] bootstrap percorso di classe non impostato in collaborazione con -source 1,5

Come posso risolvere il problema?

+5

http://blogs.oracle.com/darcy/entry/bootclasspath_older_source –

+1

NetBeans Forum: http: //forums.netbeans.org/topic43819.html –

+0

vedere http://stackoverflow.com/questions/9164625/maven-use-jdk-7-to-compile-for-jvm-5 per una soluzione in caso si stia utilizzando maven – hoijui

risposta

85

Da un blog post:

Per utilizzare javac da JDK N a cross-compilatore a una versione più vecchia piattaforma, la pratica corretta è quella di:

  • Utilizzare l'impostazione -source più vecchio.
  • Impostare il percorso di avvio per compilare il file rt.jar (o equivalente) per la piattaforma precedente.

Se non è preso il secondo passo, javac sarà doverosamente utilizzare le vecchie regole del linguaggio in combinazione con nuove librerie, che può risultare in file di classe che non funzionano sulla piattaforma più vecchio in quanto i riferimenti ai metodi inesistenti può ottenere incluso.

+4

Grande, anche se sembra più facile usare semplicemente un JDK precedente per la compilazione. – dhardy

2

L'avviso può essere disabilitato con una nuova sottoopzione JDK 7 all'interno della famiglia -Xlint, -Xlint: -options. per esempio.

$ javac -source 1.5 -Xlint: -opzioni example.java

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

e

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

avvertimenti che può essere abilitata o disabilitata con l'opzione -Xlint

Abilita il nome di avviso con l'opzione -Xlint: nome, dove il nome è uno dei seguenti g nomi di avvertenza. Allo stesso modo, è possibile disabilitare il nome dell'avviso con l'opzione -Xlint: -nome: ...

opzioni Avvisare in caso di problemi relativi all'utilizzo delle opzioni della riga di comando. Vedi Esempio di Compilazione incrociata per un esempio di questo tipo di avvertimento.

+33

Si prega di notare che non è una buona idea tacere solo gli avvertimenti come questo –

+9

, ma a volte è meglio disabilitare alcuni avvisi o emettere centinaia di questi in modo che i vostri veri avvisi siano nascosti. – Neon

+3

Qualcuno può dare un esempio minimo di qualcosa che va storto ignorando questo avviso? –

4

Attualmente eseguo Netbeans IDE 8.0.2 con JDK 1.8 su Linux Mint 17.1 che ha java -version = 1.7.0_65. Quindi per poter eseguire i file JAR ho dovuto impostare myProject> Properties> Source/Binary Format: JDK 7. Tuttavia durante la creazione (myProject> Clean and Build) ho ricevuto un avvertimento simile: warning: [opzioni] percorso della classe bootstrap non impostato in congiunzione con -source 1.7.

La soluzione era aggiungere la piattaforma Linux Mint JDK1.7 all'elenco di piattaforme Netbeans.

Questo può essere fatto andando su myProject> Proprietà> Librerie e facendo clic sul pulsante Gestisci piattaforme .... Quindi, nella finestra di Java Platform Manager, fare clic su Aggiungi piattaforma ... e selezionare: Java Standard Edition, fare clic su Avanti e accedere a/usr/lib/jvm/java-7-openjdk-amd64 (o qualunque sia la posizione della versione di JDK 1.7). Il nome della piattaforma sarà impostato su JDK1.7. Basta fare clic su Fine e il gioco è fatto.

È ora possibile selezionare la piattaforma Java nelle proprietà del progetto. Selezionando JDK1.7 e eseguendo Clean and Build: non più avvisi. :-)

+0

"myProject > Proprietà> Formato sorgente/binario: JDK 7 "ha funzionato per me –

26

utilizzo bootclasspath

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

Nei sistemi UNIX, localizzare rt.jar utilizzando:

locate -r '/rt.jar$' 

Impostare JAVA_HOME in modo che rt.jar si trova a $JAVA_HOME/jre/lib/rt.jar, allora:

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

testato su Ubuntu 14.04 per Oracle Java 7 e 8.

0
  1. Scarica JDK (su avvertimento versione scritta) -> Installa

  2. Fare clic destro del progetto -> Proprietà -> Biblioteche -> piattaforma Java (aggiungere il installato JDK) -> OK

Problemi correlati