web-dev-qa-db-fra.com

Comment créer ma propre bibliothèque Java (API)?

J'ai créé un programme en Java et je l'ai conçu de manière à ce que les méthodes pour lesquelles je souhaite qu'elles apparaissent (méthodes getter) puissent être appelées facilement après avoir lancé la classe qui contient ces méthodes.

La question est que, je dois faire en sorte que cette application (qui contient les méthodes getter) soit semblable à une API afin de permettre aux développeurs d’utiliser mes fonctions (les méthodes getter) s’ils en ont besoin, et uniquement ce dont ils disposent. besoin est d’ajouter ce fichier (je pense que l’API après est faite comme fichier .jar).

Comment puis-je faire pour que mon code soit réutilisable avec une autre application? C'est semblable au .dll, je pense.

Merci beaucoup ;)

48
Q8Y

Créer un JAR. Ensuite, incluez le JAR. Toutes les classes de ce JAR seront disponibles. Assurez-vous simplement de protéger votre code si vous distribuez une API. N'exposez aucune méthode/propriété à l'utilisateur final qui ne devrait pas être utilisée. 

Édition: en réponse à votre commentaire, assurez-vous de ne pas inclure la source dans le package du fichier JAR. Inclure uniquement les fichiers de classe. C'est le mieux que tu puisses faire.

46
Zack Marrapese

Pour être utilisables en tant qu'API, vos classes doivent:

  • Utilisez un package unique (idéalement suivant la convention, c’est-à-dire l’inverse du domaine que vous possédez comme préfixe). Cela évite les conflits de noms
  • N'ayez que les classes et méthodes public ou protected qui sont destinées à être utilisées par d'autres. Cela le rend plus facile à utiliser.
  • Avoir de nombreux commentaires Javadoc.
  • Être disponible sous forme de fichier JAR - idéalement des fichiers JAR distincts pour la distribution binaire, le code source et les fichiers javadoc.
15
Michael Borgwardt

Vous devez conditionner votre application sous forme de fichier jar. Vous pouvez utiliser ant jar task pour créer des fichiers jar ou utiliser la commande jar. 

Pour les tâches relatives aux fourmis, regardez ceci link .

Pour le créer manuellement, regardez ce link .

10
CoolBeans

Assurez-vous d’écrire et de publier des javadocs pour toutes vos classes et méthodes publiques et protégées.

6
Noel M

Pour créer le pot:

jar cf <jar_name> <sources>
5
jmoreira

Vous pouvez exposer votre code de plusieurs manières. Créer un fichier jar et le distribuer sont peut-être les plus faciles car d’autres développeurs devront simplement inclure votre fichier jar. Cependant, si vous parlez de "n'importe qui" accédant à votre code, un service Web peut être plus logique car vous pouvez fournir un accès aux données sans fournir tout le code nécessaire. Vous parlez de fournir un accès à vos accesseurs - si vous créez simplement une classe comportant des accesseurs, les autres développeurs peuvent les utiliser, mais comment vont-ils être remplis? Si votre application est autonome en ce sens qu'elle obtient les données nécessaires et fournit les accesseurs, cela devrait fonctionner, mais si vous parlez de fournir un accès aux données depuis votre application en cours d'exécution, un service Web est plus logique car votre application peut récupérer les données. et fournir un accès via des méthodes accessibles au public.

Vous souhaitez probablement également créer des interfaces afin que les développeurs puissent coder par rapport à l'interface et modifier les rouages ​​internes sans les affecter. Toute API qui sera utilisée par d'autres devrait également être abondamment documentée.

4
Tai Squared

Vous pouvez également considérer:

  • Inclure des exemples qui montrent comment utiliser votre bibliothèque 
  • Construisez votre pot en utilisant Apache Maven
  • Mettez votre pot dans un référentiel public Maven
  • Publiez une nouvelle version de votre bibliothèque lorsque vous trouvez/corrigez des bugs
  • Si vous souhaitez masquer votre implémentation, vous pouvez masquer votre fichier jar avec obscurcissement. Ainsi, si quelqu'un décompile vos classes, le code sera difficile à lire.
0
elyor

Cela dépend de votre IDE. J'utilise Netbeans, alors je viens de lancer le projet de construction et l'alto! Un fichier JAR est créé dans mon répertoire spécifié. Maintenant, c'est juste pour la compilation. Tout ce que vous avez à faire est de télécharger votre fichier .jar. Si vous êtes dans Netbeans, cliquez avec le bouton droit de la souris sur les bibliothèques, ajoutez jar/folder et sélectionnez le fichier téléchargé.

0
gigy