Как я заставляю Eclipse разрешать классы, сгенерированные со Знатоком 2?

Кортеж, распаковывающий в для циклов, перечислите выражения генератора и понимания:

>>> l=[(1,2),(3,4)]
>>> [a+b for a,b in l ] 
[3,7]

Полезный в этой идиоме для итерации по (ключ, данные) пары в словарях:

d = { 'x':'y', 'f':'e'}
for name, value in d.items():  # one can also use iteritems()
   print "name:%s, value:%s" % (name,value)

печать:

name:x, value:y
name:f, value:e
48
задан Hanno Fietz 27 July 2009 в 21:13
поделиться

4 ответа

В обозревателе проекта вы должны увидеть контейнер с именем «Зависимости Maven» вместо обычных «Библиотек, на которые есть ссылки». Это означает, что m2eclipse управляет вашим путем сборки.

В моем случае, чтобы добиться этого, я проверил «Включить модули» и un проверил «Пропускать подключаемый модуль компилятора Maven при обработке ресурсов» в разделе «Maven» проекта-> Недвижимость.

13
ответ дан 7 November 2019 в 12:30
поделиться

m2eclipse не поддерживает это. Вы должны вручную добавить папку target / generated-sources в качестве исходной папки. Когда вы сообщаете m2eclipse «Обновить конфигурацию проекта», он будет перезаписан, и вам придется его восстановить.

Также убедитесь, что Eclipse ищет изменения в рабочем пространстве.

Однако могут быть некоторые проблемы. В конце концов, вы столкнетесь с ошибками, что какой-то класс не может быть скомпилирован, потому что другой класс не может быть разрешен. Однако автозавершение кода будет работать. Основная причина этой проблемы заключается в том, что Eclipse сбивается с толку, когда Maven изменяет файлы классов в target .

Чтобы решить эту проблему, вы должны указать Eclipse, чтобы компилировался в другое место, чем Maven .

27
ответ дан 7 November 2019 в 12:30
поделиться

Лично Я решил эту проблему, настроив сгенерированные классы как отдельный проект и сделав его зависимостью в моем основном (несгенерированном) проекте. Я использовал wsdl2java для генерации классов веб-сервисов, поэтому «источником» в моем подпроекте были wdsl и xsds. Работал хорошо, даже когда WSDL регулярно менялся.

12
ответ дан 7 November 2019 в 12:30
поделиться

Вы пытались обновить проект Eclipse?

alt text
(источник: oyvindhauge.com )

Когда внешний инструмент создает новые файлы или обновляет старые, Eclipse не сможет обнаружить изменение до следующего запроса.

Другой вариант было бы определить новый пользовательский построитель, указав для этого построителя «обновлять ресурсы по завершении»:

альтернативный текст http://www.cs.lth.se/EDA180/2005/Verktyg/eclipse_refresh.gif

2
ответ дан 7 November 2019 в 12:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: