В Java, если Вы упаковываете исходный код (.java) файлы в банку наряду с классами (.class) большая часть IDE как затмение, покажет комментарии Javadoc для завершения кода.
IIRC там являются немногими проектами с открытым исходным кодом, которые делают это как JMock.
Позволяет говорят, что я чисто разделил свой код API от кода реализации так, чтобы у меня было что-то как myproject-api.jar, и myproject-impl.jar является там какой-либо причиной, почему я не должен помещать исходный код в свой myproject-api.jar?
Из-за производительности? Размер?
Почему другие проекты не делают этого?
Править: Кроме проблемы загрузки Знатока что-нибудь повредит помещать мои источники в банку классов для поддержки как можно большего количества разработчиков (знаток или не)?
Обычно по причине распространения:
если вы храните отдельные двоичные файлы и исходные коды, вы можете загружать только то, что вам нужно.
Например:
myproject-api.jar
и myproject-impl.jar
myproject-api-src.jar
и myproject-impl-src.jar
myproject-api-docs.zip
и myproject-impl-docs.zip
Теперь m2eclipse - Maven for Eclipse может автоматически загружать исходники
mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
Теперь он также может сгенерировать правильный pom , чтобы предотвратить распространение jar-файла с исходным кодом или javadoc, когда кто-либо заявляет о зависимости от вашего jar-файла.
Комментарий OP:
также не может представить, что размер загрузки является проблемой (я имею в виду, что в 2010 году пара 100k не должна быть проблемой).
На самом деле это (то есть "размер) проблема.
Maven уже страдает синдромом «скачивает половину интернета при первой сборке».
Если при этом загружаются также исходники и / или javadocs, это начинает быть очень утомительным.
Кроме того, аспект «распространения» включает развертывание : на сервере веб-приложений нет реальных преимуществ в развертывании jar-файла с исходными кодами в нем .
Наконец, если вам действительно нужно связать источники с двоичными файлами, этот SO вопрос по Maven может помочь .
Используя maven, автоматически прикрепите источники следующим образом:
http://maven.apache.org/plugins/maven-source-plugin/usage.html
и javadocs, например:
http : //maven.apache.org/plugins/maven-javadoc-plugin/jar-mojo.html
Таким образом, они будут автоматически обнаружены
mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
или m2eclipse