Personnellement, je voudrais essayer d'éviter de vérifier dans les dépendances d'un projet dans le référentiel de contrôle de version SCM.Typiquement, cela serait en utilisant Maven comme suggéré dans une autre réponse et en déployant un référentiel Maven interne à l'entreprise qui a l'avantage de rendre cette ressource locale à l'équipe de développement et de fournir un emplacement où les artefacts complétés/versionnés/libérés de votre propre projet peuvent résider . Le problème que je vois avec Jars étant le SCM est que d'abord et avant tout, le SCM est pour la gestion du code source et ils sont optimisés à cet effet. Les artefacts compilés ne sont pas des codes source et sont des binaires, quand vous branchez ou mettez à jour le binaire, vous faites une copie du binaire, car la plupart des SCM ne peuvent pas 'diff' un fichier binaire.
Une autre considération est de savoir ce que vous faites si vous avez deux projets nécessitant des dépendances archivées? Vérifiez-vous les frais séparément dans chaque projet et porter la duplication? Ou faites-vous un troisième projet qui contient uniquement les dépendances? Et maintenant vous gérez manuellement les fichiers jar dans ce projet. Et si vos deux projets nécessitent des dépendances mutuellement incompatibles? En troisième lieu, comment gérez-vous les dépendances inter-projets (où l'un de vos projets dépend de l'autre)? Le fichier jar de l'un est-il vérifié dans l'autre? Qu'en est-il du contrôle de version et d'autres changements? Est-ce que vous n'avez qu'à faire vérifier les deux projets et exiger qu'ils soient construits dans un ordre rigoureux? Selon mon expérience et mon opinion, ces problèmes sont généralement suffisants dans un développement de complexité modérée pour répondre définitivement à la question: Non, il n'est pas acceptable de vérifier les dépendances des fichiers .jar. Utilisez un système de construction tel que Maven ou Ant + Ivy (ou une autre alternative) qui fournit un moyen d'externaliser la gestion et le stockage des dépendances à partir du système de contrôle de code source.
Je ne pense pas qu'il y ait de problèmes légaux, puisque j'utilise principalement les bibliothèques open source. Ouais! J'ai décidé d'enregistrer tous les pots. – Veera