web-dev-qa-db-fra.com

Existe-t-il un gestionnaire de packages pour Java comme easy_install pour Python?

Existe-t-il un gestionnaire de paquets pour Java comme easy_install pour Python?
Je recherche une solution utilisable depuis la ligne de commande et non depuis un IDE.

65
systempuntoout

Maven fournit la gestion des dépendances basée sur des référentiels distants (comme le repo central ) qui sont consultables, consultable .

Maven Ant Tasks (retiré) utilisez les référentiels de Maven pour fournir une gestion des dépendances et plus encore pour les builds Ant.

Ant Ivy est une autre alternative aux tâches Ant Maven.

MOP est un autre outil en ligne de commande qui exploite le référentiel et les dépendances de Maven.

39
Pascal Thivent

Edit 2017-04-27: J'ai été déçu par le manque d'élan vers l'avant pour jpm4j et le manque de développement centré sur la communauté. J'ai donc inventé un nouvel outil appelé jrun . J'invite tout le monde à le vérifier. Il a une portée plus étroite que des outils comme pip de Python, mais il vous permet d'exécuter le code Java à partir des référentiels Maven distants de manière simple à utiliser).


Découvrez JPM4J . C'est un projet de Peter Kriens (de renommée BND). Il l'a proposé pour la première fois l'année dernière , et à ce jour, il existe depuis quelques mois et semble assez impressionnant.

Il a été inspiré par le npm de Node, et comme cet outil, l'installation est un jeu d'enfant:

OS X:

local   $ curl http://www.jpm4j.org/install/local  | sh
global  $ curl http://www.jpm4j.org/install/global | Sudo sh

Linux:

curl http://www.jpm4j.org/install/script | sh

Et Windows a un installateur clicky, bien sûr.

Ensuite, vous installez des éléments de la même manière que les autres outils du gestionnaire de packages en ligne de commande. Par exemple.:

jpm install org.codehaus.groovy:groovy-all

La commande d'installation exploite les coordonnées Maven. Fondamentalement, le JAR a juste besoin d'un JPM-Command entrée dans son manifeste, et jpm sait comment exposer sa classe principale en tant qu'exécutable en ligne de commande.

Personnellement, j'aimerais vraiment voir la communauté Java soutenir un effort comme celui-ci. Un très solide Java gestionnaire de paquets est en retard depuis des années!

14
ctrueden

Ivy d'Apache est la chose la plus proche que je sache.

4
sblom