Библиотеки импорта FTP-сервера Java Apache Mina

Я хочу создать приложение Android FTP-сервера с FTP-сервером Apache Mina.

Проблема в следующем: не могу импортировать эти библиотеки.

Я могу выбрать между двумя ошибками:

Если библиотеки не выбраны в «Путь сборки Java»/«Заказ и экспорт», я получаю эту ошибку:

"Could not find class 'org.apache.ftpserver.FtpServerFactory' (...)" 

(Logcat)

Если они выбраны, я получаю эту ошибку:

Conversion to Dalvik format failed: 
Unable to execute dex: 
Multiple dex files define Lorg/apache/ftpserver/ftplet/FtpException;

(Problems / Errors)

Что случилось??

Мои импортированные библиотеки:

  • ftplet-api-1.0.6.jar
  • ftpserver-core-1.0.6.jar
  • mina-core-2.0.4.jar (или 2.0.7)
  • slf4j-api-1.5.2.jar (или 1.6.6)
  • slf4j-простой-1.5.3.jar

person Jan Knoblauch    schedule 05.05.2014    source источник
comment
Что я могу сделать? Я еще не решил проблему..   -  person Jan Knoblauch    schedule 26.05.2014
comment
Проверь это. stackoverflow.com/questions/7870265/   -  person Alkis Kalogeris    schedule 21.06.2014
comment
Спасибо за ссылку, но ни один из этих многочисленных советов не мог мне помочь.   -  person Jan Knoblauch    schedule 22.06.2014
comment
ftplet-api-1.0.6.jar ftpserver-core-1.0.6.jar Эти два должны использоваться в одном проекте?   -  person Alkis Kalogeris    schedule 22.06.2014
comment
Да, я использовал файлы, перечисленные в руководстве mina.apache.org.   -  person Jan Knoblauch    schedule 23.06.2014
comment
В андроиде не программировал, но может этот ftplet-api-1.0.6.jar уже есть? Удалите его и повторите попытку.   -  person Alkis Kalogeris    schedule 14.09.2014


Ответы (1)


У меня такая же проблема с любым проектом Android, когда я добавляю зависимость jCenter от org.apache.ftpserver:ftpserver-core:1.0.6. Проект успешно компилируется, но при попытке запустить его происходит сбой.

Я понял, что ftpserver-core-1.0.6.jar содержит классы из ftplet-api-1.0.6.jar.

Чтобы решить проблему, я использовал локальные библиотеки, но удалил ftplet-api-1.0.6.jar. Я не уверен, что это абсолютно правильное решение, но оно работает для меня.

person Evgeni Lipatov    schedule 05.05.2016
comment
Спасибо за ответ! У меня была такая же проблема, и это исправление сработало и для меня. Что я сделал, так это исключил ftplet-api-1.0.6 в моем build.gradle: dependencies { ... compile('org.apache.ftpserver:ftpserver-core:1.0.6') { exclude group: 'org.apache.ftpserver', module: 'ftplet-api' } ... } - person Andrei Micu; 21.11.2017