7
votes

Affichage du code source Java dans un navigateur?

J'ai mon code source Java dans la structure standard SRC / LIB / Test / Test / Test pour mon projet. Je souhaite générer une vue Web de mon code source où je peux enfiler un navigateur et voir la syntaxe-Mettonné, code numéroté de ligne. Je ne veux pas seulement cela, mais je veux aussi que les fichiers soient correctement liés (par exemple, cliquez sur un nom de méthode / de classe / d'interface, etc. Nom de la page Web de la page Web, il me faudrait "style Eclipse" à la page correspondante). Y a-t-il un logiciel qui fait déjà cela? Je sais qu'il y a des tonnes de syntaxe en surbrillance JS et CSS, afin que la partie soit facile et que je suis donc plus intéressé par la partie de liaison.


4 commentaires

"... plus intéressé par la partie de liaison." La mise en évidence des mots-clés est facile. Obtenir des références croisées à droite signifie simuler ce que le compilateur fait en résolution de ce qu'un nom se réfère. C'est beaucoup plus fort.


L'IRA est correct, cela pourrait être beaucoup de travail. Produirait des javadocs, avec la source attachée et liée ne suffise pas? Pas tout à fait ce que vous avez décrit, mais peut-être assez proche?


@Ira, oui, c'est une question difficile, sinon je ne voudrais probablement pas demander :) J'imagine que si le bin / répertoire est disponible, nous pouvons regarder les fichiers .class et les fichiers .class ont toutes les informations (elles Avoir des numéros de ligne aussi je crois), mais oui, il est difficile de faire et je ne connais aucun outil qui le fait.


@Crollster, non, cela ne suffira pas - nous avons une base de code extrêmement volumineuse et parfois, il est parfois plus rapide que les ingénieurs puissent simplement avoir une vue Web simple pour ce qui se passe que la caisse et la mise à jour des millions de lignes de code et de grep à travers elle. dans un IDE.


3 Réponses :


1
votes

Voir notre Navier de code source Java . Combine le code source Java Navigation avec des références croisées de style Javadoc. Les hyperliens sur des identificateurs suivent pleinement les règles de décomposition de Java.

fonctionne actuellement avec Java 1.4, complétant maintenant les versions de Java 1.5 et plus.

Edit Mai 2012: Poignée Java 1.6 et Java 7


4 commentaires

Génial - presque exactement ce que je cherchais. Lancer les numéros de ligne et la recherche de code universel OpenGrok Style et une meilleure mise en surbrillance de la syntaxe ( code.google .Com / p / Google-Code-Pletintify ) et supportez Java6 et j'aurais exactement ce que je veux!


Non, je suis à la vue de la montagne mais je suis allé à Ut-Austin et oui, j'aimerais bien jouer avec la bêta. Mon email est sur mon profil. Merci!


@wrick - Votre profil dit que vous êtes à Austin. Il est temps de le mettre à jour: -}


Le navigateur ne fait pas des recherches; Il produit du HTML pur. Vous pouvez voir un moteur de recherche pour un système multilingue à grande échelle à l'adresse www.semticanticdesigns.com/products/searchEngine



0
votes

OpenGrok fait une grande partie de ce que vous demandez, permettant ainsi des recherches intéressantes.


2 commentaires

Hors de curiosité, comment OpenGrok obtient-elle les références croisées correctes? At-il une recherche de nom Java complète quelque part?


OpenGrok ne fait pas de méthode / classe, etc.



1
votes

Je pense que votre meilleur choix serait coobertura . En dehors de la case, il générera de belles versions HTML de votre source. En tant que prestation secondaire, il générera également votre rapport de couverture de code également. ;)

Maven JXR est une autre option également (si vous utilisez Maven). < / p>


3 commentaires

OP a dit: "Je suis donc plus intéressé par la partie de la réticulation". Cobobatura produit-t-il des liaisons croisées correctes?


Je viens de vérifier la version récente, Cobertura ne semble pas faire des liaisons croisées, mais Maven JXR fait.


Maven JXR est en effet très proche de ce que je cherche ( Maven.apache.org/jxr/xref/org/apache/maven/jxr/... ) Mais ce n'est que des hyperliens de nom de classe. Ce serait génial s'il faisait même des hyperliens de noms (et variables?) Aussi. Et non, je n'utilise pas Maven - comme je l'ai dit que j'ai une structure de projet très simple avec des dépendances externes limitées (je n'ai que 4 pots dans ma lib / - Guava, Apache Commons, log4j et MySQL), donc je n'ai donc pas ressenti le besoin d'utiliser une fourmi ou maven