Присоединить исходники, не работающие в ScalaIDE

У меня в игре есть следующие импортированные файлы! контроллер:

import reactivemongo.play.json.collection.JSONCollection
import reactivemongo.play.json.commands.JSONAggregationFramework.{Match,       Unwind, Project, AggregationResult}

Первый импорт (класс случая JSONCollection) находится в ........ ivy2 \ cache \ org.reactivemongo \ reactivemongo-play-json_2.11 \ jars \ reactivemongo-play-json_2.11-0.11.14.jar

Второй (объект JSONAggregationFramework) находится в той же библиотеке, но расширяет AggregationFramework, который находится в: ......... ivy2 \ cache \ org.reactivemongo \ reactivemongo_2.11 \ jars \ reactivemongo_2.11-0.11.14 .банка

К обеим библиотекам прикреплены исходники и JavaDocs. Но когда я нажимаю CTRL-щелчок в Eclipse (Scala IDE) на их имени, я получаю привередливый

**Source Not Found 
The source attachment does not contain the source for the...
You can change the source attachment by clicking ...**

ошибка.

Я проверил, и исходный JARS содержит вышеупомянутые классы.

Это ошибка или я что-то не так делаю?

P.S.

Я могу просто зайти на левую панель и щелкнуть, чтобы открыть любой класс в библиотеке reactivemongo_2.11-0.11.14.jar, и я приду к той же проблеме!

Однако этого не происходит для классов в: ....... ivy2 \ cache \ org.reactivemongo \ play2-reactivemongo_2.11 \ jars \ play2-reactivemongo_2.11-0.11.14.jar, где я могу посмотреть источники.

Спасибо заранее!


person Adrian    schedule 29.09.2016    source источник
comment
Не вопрос ReactiveMongo, а специфичный для IDE   -  person cchantep    schedule 29.09.2016


Ответы (1)


Пожалуйста, проверьте, сделали ли вы это или нет. щелкните файл jar и -> перейдите к Исходным вложениям -> щелкните кнопку Изменить и выберите исходный путь к файлу jar.

введите описание изображения здесь

person Bhaskara Arani    schedule 29.09.2016
comment
Да, исходники прикреплены, но не видны для обеих вышеупомянутых библиотек. - person Adrian; 30.09.2016
comment
Может быть, в используемом вами jar-файле или zip-файле могут не быть исходных файлов. Или в некоторых случаях файл, который вы используете для прикрепления, имеет другую структуру папок. - person Bhaskara Arani; 30.09.2016
comment
Эти библиотеки проверяются центром Maven как для их содержимого, так и для метаданных, так что это проблема IDE. - person cchantep; 30.09.2016
comment
Да, я только что обнаружил виновника. Как сказал Арани, структура папок отличается. Банки имеют структуру папок, подобную Java, с папками, имитирующими именование пакетов, в то время как исходные банки имеют плоскую структуру папок. Я распаковал исходные jar-файлы, соответствующим образом изменил структуру папок и, за исключением некоторых мелких проблем, которые все еще сохраняются, все в порядке. - person Adrian; 30.09.2016
comment
Это здорово, @Adiran, мы решили проблему, пожалуйста, примите это как ответ, чтобы другие помогли в будущем - person Bhaskara Arani; 30.09.2016
comment
@cchantep мне кажется ошибкой в ​​создании библиотеки, возможно, процесс проверки Maven не так подробен. Если потребуется помощь, дайте мне знать, я могу найти время, чтобы помочь - person Adrian; 30.09.2016
comment
Возможно, это не ошибка, они предоставили все в zip-файле, который когда-либо был необходим для запуска, нам нужно разделить его, используя - person Bhaskara Arani; 30.09.2016
comment
как сопровождающий библиотеки, я могу подтвердить, что Maven central проверяет такой аспект, поэтому, если у вас нет определенного элемента, это проблема IDE - person cchantep; 30.09.2016
comment
Я только что увидел на GitHub, что источники также имеют плоскую структуру каталогов, поэтому плагин Maven, который вы используете для генерации jar-файла источников, поддерживает эту уплощенную структуру папок, в то время как плагин, который генерирует файлы .class, должен соблюдать соглашения JVM и создавать структура каталогов имитирует объявление пакета. Одним из решений было бы сделать плагин, который генерирует jar-файл с исходными кодами, также для генерации структуры каталогов, другой, конечно, как вы говорите, более правильный, чтобы сделать Scala IDE достаточно умной, чтобы разобраться во всем самостоятельно. Спасибо - person Adrian; 01.10.2016