Если это работает в Windows, это, вероятно, связано с разницей в средах, а не с ошибкой, присутствующей в версиях JDK для Linux. Проверьте, есть ли в Linux несколько JVM (почти наверняка, так как Ubuntu поставляется с версией, отличной от Sun), и убедитесь на 110%, что вы используете ожидаемую версию для компиляции. Выдача
which javac
и
echo $JAVA_HOME; echo $JDK_HOME
из командной строки также может помочь, поскольку все это может быть использовано для поиска JDK (а также настроек, которые вы используете в вашей команде / инструменте компиляции).