2011-09-05 1 views

Répondre

0

Probablement la meilleure approche est d'utiliser un outil comme yGuard qui « ... fournit le code élaboré par la diminution des fonctionnalités d'analyse de dépendance. » Cela résout également le même problème lorsque vous lui donnez un point d'entrée, et il effectue une analyse de dépendance pour déterminer quelles classes peuvent être exclues du Jar.

Cependant, j'ai moi-même traversé ce problème à plusieurs reprises et je me suis dit que je devais y aller moi-même pour relever le défi. Tout ce qu'il faudrait faire serait d'analyser les instructions d'importation des fichiers source Java et de construire un graphique de dépendance de la façon dont les classes interagissent les unes avec les autres. Chaque référence de la classe principale doit être scannée récursivement jusqu'à ce qu'un graphique complet soit assemblé. Ensuite, une fois le graphe assemblé, il serait possible de sortir ceci d'une manière que la logique d'empaquetage pourrait traiter (ou si vous vous sentez audacieux, le JDK a son propre code de création/modification pour le faire vous-même). Certes, cette approche nécessiterait l'écriture de cet utilitaire personnalisé et manquerait également des références de classe entièrement qualifiées dans le code.

Questions connexes