Intellij – której wersji Javy używam?

0

Hi, mam zainstalowane najnowsze IDE Intellij 2018.2.4 i w zakładce Help>About pokazuje mi JRE: 1.8.0_152-release-1248-b8 amd64. W systemie mam zainstalowaną tę wersje:

java --version
openjdk 10.0.2 2018-07-17

W Settings>Build>Compiler>Java Compiler>Project bytecode version: Same as language level

Czy tu powinno się ustawić konkretny numer Javy? Jak sprawdzić którą wersją kompilatora, kompiluje mi dane programy Javy, czy tą wbudowaną w Intellij 1.8.0, czy może openjdk 10.0.2?

Wydaje mi się, że openjdk 10.0.2 uruchamia tylko Intellij jako program, a IDE od JetBrains wykorzystuje sobie do kompilacji moich programów własną wersję JRE?

1

Wydaje mi się, że openjdk 10.0.2 uruchamia tylko Intellij jako program, a IDE od JetBrains wykorzystuje sobie do kompilacji moich programów własną wersję JRE?

Moim zdaniem w typowym przypadku jest właśnie odwrotnie. JDK do kompilacji możesz sobie sam sprawdzić i ustawić w ustawieniach: File -> Project Structure -> Project Settings -> Project -> Project SDK -> tu jest select z którego wybierasz JDK, możesz też dodać dodatkowy.

Możesz też po prostu wypisać wartość System.getProperty("java.version")

0

Tam co podałeś to mi pokazuje 10-tkę, jednak to drugie twoje polecenie i inne z sieci nie chcą mi działać.

import java.lang.*;

public class JavaVersion {
    public static void main(String[] args) {

        //Properties p = System.getProperties();
        //p.list(System.out);
        System.getProperty("java.version");
        //Properties props = new Properties();
        //props.load(new FileInputStream("myprops.properties"))
        //props.getProperty("os.name");
    }
}
0

Dobra nasza działa! Znalazłem sam rozwiązanie, ale raczej nie powinienem zadawać takich pytań na forum :(

public class JavaVersion {
    public static void main(String[] args) {

        String s = System.getProperty("java.version");
        System.out.println(s);
    }
}
0

Mam w Linux Mint zainstalowaną Jave 11, a ten program pokazuje mi Jave 10.0.2. Czy ona tylko tak jest numerowana? Instalowałem 11 wersję tak:

sudo apt install openjdk-11-jdk openjdk-11-jre
0

Linux Mint jest oparty o Ubuntu, a w Ubuntu 18.04 Canonical zrobił małe oszustwo: https://askubuntu.com/questions/1037646/why-is-openjdk-10-packaged-as-openjdk-11

1 użytkowników online, w tym zalogowanych: 0, gości: 1