Wenn Sie in Java die Quellcodedateien ( .java) zusammen mit Klassen ( .class) packen, werden die meisten IDEs wie eclipse die javadoc-Kommentare für die Codevervollständigung anzeigen.
IIRC gibt es einige Open-Source-Projekte, die das wie JMock tun.
Nehmen wir an, ich habe meinen API-Code sauber vom Implementierungscode getrennt, so dass ich etwas wie myproject-api.jar und myproject-impl.jar habe, gibt es einen Grund, warum ich den Quellcode nicht in mein myproject-api legen sollte. Krug ?
Wegen der Leistung? Größe?
Warum machen andere Projekte das nicht?
EDIT: Abgesehen von dem Maven-Download-Problem wird es weh tun, meine Quellen in die Klassen jar zu legen, um so viele Entwickler wie möglich zu unterstützen (maven oder nicht)?
Im Allgemeinen wegen Verteilungsgrund:
Wenn Sie separate Binärdateien und Quellen aufbewahren, können Sie nur das herunterladen, was Sie benötigen.
Zum Beispiel:
myproject-api.jar
und myproject-impl.jar
myproject-api-src.jar
und myproject-impl-src.jar
myproject-api-docs.zip
und myproject-impl-docs.zip
Nun, m2eclipse - Maven for Eclipse kann Quellen herunterladen automatisch auch
%Vor% Nun kann es auch erzeuge das richtige pom , um die Verteilung des Quell- oder Javadoc-Jar zu verhindern, wenn jemand eine Abhängigkeit von deinem jar deklariert.
Die OP kommentiert:
kann auch nicht vorstellen, Download-Größe ist ein Problem (ich meine, es ist 2010 ein paar 100k sollte kein Problem sein).
Nun, eigentlich ist es (d. h. "die Größe) ein Problem.
Maven leidet bereits unter dem "Herunterladen des halben Internets beim ersten Build" -Syndrom.
Wenn das auch Quellen und / oder Javadocs herunterlädt, beginnt das wirklich ermüdend.
Außerdem umfasst der Aspekt "Verteilung" die Bereitstellung : in webapp server gibt es keinen wirklichen vorteil, ein jar mit quellen darin zu implementieren .
Wenn Sie wirklich Quellen mit Binärdateien verknüpfen müssen, SO Frage zu Maven könnte helfen .