2014-05-13 13 views
8

Testuję Javę na Windows Surface Pro. Wersja Surface Pro ma aktualizację Java 7 55, ale nie wymaga zainstalowania JDK w wersji.Docelowa inna wersja JRE

Skompilowałem program na moim MacBooku z poziomu wiersza poleceń, używając javac. MacBook ma aktualizację Java 8 Update 5 i zawiera JDK (oczywiście dlatego, że skompilowałem ją na MBP).

Po przeniesieniu programu z MackBook na Surface Pro pojawia się następujący błąd. W tym przypadku "przeniesienie programu" oznacza skopiowanie dwóch plików *.class na nowy komputer i wykonanie kodów bajtów.

java.lang.UnsupportedClassVersionError: HttpsTest : Unsupported major.minor version 52. 

Próbując skompilować z wynikami informacyjnych cel w:

$ javac -target 1.7 HttpsTest.java SSLSocketFactoryEx.java 
javac: target release 1.7 conflicts with default source release 1.8 

javac -help nie wymienia żadnych opcji kontrolować informacje o wersji skompilowanego programu (innych niż target, która nie wydaje się działać) .

Jak skompilować pliki źródłowe dla wersji JRE na poziomie niższym? W tym przypadku wybieram Java 7 z komputera Java 8.

Odpowiedz

2

Jeśli używasz środowiska Eclipse, możesz ustawić poziom zgodności kompilatora we właściwościach projektu-> Kompilator Java. Twój kod jest skompilowany dla wybranej wersji Java. Zobacz tutaj:

enter image description here

+0

Ale jak to zrobić w wierszu polecenia? – sunleo

+0

@sunleo Odpowiedziałem na twoje pytanie w osobnym poście. –

2

Z linii poleceń, aby zmienić swoje wezwanie:

javac -source 1.7 -target 1.7 HttpsTest.java SSLSocketFactoryEx.java 

Dokumentacja dla javac (JDK 8) jest here.

Dokumentacja dla javac (dla JDK 9) to here.

Uwaga: W JDK 9, -target jest zamieniany na --release.

+0

Dzięki za odpowiedź. – sunleo