Компиляция кода с использованием openjdk1.6 или sun jdk1.6 - PullRequest
0 голосов
/ 22 марта 2011

Я пытаюсь скомпилировать программное обеспечение, используя javac.Проблема в том, что я удалил open-jdk с помощью yum remove, скачал sun jdk и установил его в папку /usr/java.

Я не знаю, как выяснить, работает ли текущий jvm openjdk или sunjdk.

Я удалил файлы java и javac из папки /usr/bin и заставил переменную PATH содержать новый путь в /usr/java/jdk1.6-0/bin.

Я все еще вижу файл java в папке binкаждый раз, когда я перезагружаю систему.

Может ли кто-нибудь помочь мне с этим?

Также, если это будет полезно, я пытаюсь скомпилировать программное обеспечение, и оно выдает следующие предупреждения:

Список является необработанным типом.Ссылки на универсальный тип List должны быть параметризованы

Я думаю, что это из-за open-jdk.Я не могу понять, как полностью удалить open-jdk.

Спасибо

Ответы [ 3 ]

2 голосов
/ 22 марта 2011
  1. С точки зрения поведения приложения не должно быть заметного различия между OpenJDK и эквивалентным Oracle JDK. Различия в низком уровне JVM; например улучшения производительности в JIT-компиляторе и сборщиках мусора.

  2. Если вам нужно указать, какую версию вы на самом деле используете, используйте java -version или (в запущенном приложении) посмотрите свойства в объекте System.getProperties(). (Javadoc объясняет, какие стандартные свойства следует ожидать.)

  3. Сообщение о необработанных типах не имеет ничего общего с тем, является ли ваша система OpenJDK или Oracle JDK. Вы получите аналогичные предупреждающие сообщения со всеми компиляторами Java 5/6/7 ... включая компиляторы из IBM и других мест.

    Фактическая проблема в коде, который вы компилируете. Вы можете спокойно игнорировать предупреждение в краткосрочной перспективе ... или если код должен оставаться компилируемым с помощью / runnable на JVM до Java 5.

0 голосов
/ 22 марта 2011

Как уже упоминали другие люди, о другой JVM беспокоиться не о чем.Используйте java -version в консоли, чтобы выяснить, какой это.

Что касается сообщения необработанного типа, вы, вероятно, используете класс Generic без указания типа.Т.е. вы используете List вместо List<String>.Вы можете просто установить его на List<?>, если вам не нужен тип, или явно установить его на тип.

0 голосов
/ 22 марта 2011

Нет ничего страшного в деталях окружающей среды. Вам просто нужно параметризовать ваши Collection классы, как указано в ваших javac предупреждениях. Узнайте о generics. Также опубликуйте свой код, чтобы мы могли точно определить предупреждения.

...