У меня есть большой проект Ivy, и я заметил, что мой код, который хорошо работает в eclipse, вызывает ошибку компиляции при запуске в ant. Я сузил проблему до следующей строки:
FileUtils.write(...).
Эта строка не работает - во время компиляции --- метод просто не найден. Очевидно, мой код зависит от библиотеки Apache commons-io. И совершенно ясно, что текущий метод commons-io имеет этот метод.
http://commons.apache.org/io/apidocs/org/apache/commons/io/FileUtils.html
Так что же дает ?
Я почти уверен, что это связано с моим ivy.xml -> компилятор eclipse, к счастью (или разумно), использует новейшую возможную версию commons-io , тогда как мой ivy.xml использует более старую версию, в которой отсутствует этот метод.
Самое главное, чтобы этого не произошло, это то, что муравей явно использует другую версию этой банки.
Итак, мой вопрос:
1) Как я могу сказать муравью / плющу предпочтительно компилировать мой код с последними версиями библиотек, которые я укажу? Я предполагаю, что некоторые зависимости в моей lib/ могут зависеть от более старых версий commons-io.....
Также :
2) В этом контексте мне также будут полезны любые подсказки о том, о чем беспокоиться в отношении того, как загрузчик классов обрабатывает дубликаты в проекте, зависящем от нескольких банок...