просто быстрый вопрос:
Я учусь на программе CS и имею опыт работы только с IDE Eclipse и Net Beans. Я недавно приобрел Macbook и хотел перекомпилировать недавний школьный проект в Xcode, просто чтобы проверить его. Сразу после строки, в которой я объявляю новый экземпляр ArrayList:
dictionary = new ArrayList<String>();
Я получаю следующую ошибку: дженерики не поддерживаются в исходном коде 1.3.
Мне просто интересно, может ли кто-нибудь дать совет относительно того, в чем может быть проблема. Тот же проект компилируется в Eclipse на той же машине. Я использую OSX 10.5.4 с Java 1.5.0_13.
Спасибо.




Дженерики представлены в Java 5, поэтому вы не можете использовать дженерики с опцией -source 1.3.
Поддержка Java в Xcode устарела и не поддерживается; это единственный фрагмент Xcode, который все еще использует «старую» систему сборки, унаследованную от Project Builder. Даже Apple предлагает вместо этого использовать Eclipse. Для Java и Eclipse, и NetBeans достаточно хорошо работают на Mac; если вы хотите попробовать собственное программирование для Mac, используйте Objective-C и Какао, для которых Xcode подходит.
Тем не менее, проблема в том, что javac нацелен на Java 1.3, у которой нет универсальных шаблонов. Вы можете изменить ссылку javac в файле сборки Ant (build.xml) следующим образом:
<target name = "compile" depends = "init" description = "Compile code">
<mkdir dir = "${bin}"/>
<javac deprecation = "on" srcdir = "${src}" destdir = "${bin}"
source = "1.3" target = "1.2"
Измените «источник» и «цель» на «1,5».
Файл build.xml помещается в
/Developer/Library/XCode/Project Templates/Java/Java Tool/build.xml
(замените Java Tool собственным проектом).
Если вы посмотрите на source = "XX" target = "YY" в строке 30 и измените XX и YY на ваши предпочтительные значения, все пойдет лучше, как описано в предыдущих сообщениях.
Ваше здоровье,
Питер
Спасибо за быстрый и очень полный ответ, я понятия не имел об отсутствии поддержки java для Xcode. Между прочим, я пытался изменить "источник" и "цель" файла сборки на 1.5, но это привело только к большему количеству ошибок компилятора. Я просто буду придерживаться Eclipse :)