Xкод:Ошибка компилятора «Обобщенные типы не поддерживаются в -source 1.3»?
-
02-07-2019 - |
Вопрос
просто быстрый вопрос:
Я студент бакалавриата по компьютерным наукам и имею опыт работы только с IDE Eclipse и Net Beans.Недавно я приобрел Macbook и хотел перекомпилировать недавний школьный проект в Xcode, просто чтобы протестировать его.Сразу после строки, в которой я объявляю новый экземпляр ArrayList:
dictionary = new ArrayList<String>();
Я получаю следующую ошибку: дженерики не поддерживаются в -source 1.3.
Мне просто интересно, может ли кто-нибудь дать совет относительно того, в чем может быть проблема.Тот же проект компилируется в Eclipse на той же машине.Я использую OSX 10.5.4 с Java 1.5.0_13.
Спасибо.
Решение
Поддержка Java в Xcode устарела и не поддерживается;это единственная часть Xcode, которая все еще использует «старую» систему сборки, унаследованную от Project Builder.Даже Apple предлагает вместо этого использовать Eclipse.Что касается Java, то и Eclipse, и NetBeans вполне хорошо работают на Mac;если вы хотите попробовать собственное программирование для Mac, используйте Objective-C и Cocoa, для которых 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».
Другие советы
Дженерики представлены в Java 5, поэтому вы не можете использовать дженерики с опцией -source 1.3.
Файл build.xml помещается в
/Developer/Library/XCode/Project Templates/Java/Java Tool/build.xml
(замените Java Tool своим собственным проектом).
Если вы ищете source="XX" target="YY"
в строке 30 и измените XX и YY на предпочитаемые вами значения, дела пойдут лучше, как описано в предыдущих сообщениях.
Ваше здоровье,
Питер