En tant que stagiaire, j'utilise le code entreprise dans mes projets et ils m'envoient généralement un jar
fichier avec lequel travailler. Je l' ajoute à la construction path
dans Eclipse
et généralement tout va bien et dandy.
Cependant, je suis devenu curieux de savoir ce que chaque classe contenait et lorsque j'essaie d'ouvrir l'une des classes du jar
fichier, cela me dit que j'ai besoin d'un fichier source.
Qu'est-ce que ça veut dire? Je viens d'un arrière-plan C / C ++ donc un fichier jar
similaire à un .o
fichier déjà compilé et tout ce que je peux voir, c'est le .h
truc? Ou y a-t-il du code réel dans le jar
fichier que j'utilise qui est chiffré pour que je ne puisse pas le lire?
Merci pour toutes les réponses!
Edit:
Merci, les gars, je savais que c'était une sorte d'archive, mais je ne comprenais pas pourquoi quand j'ai essayé d'ouvrir les .class
fichiers, j'avais un tas de caractères aléatoires. La sortie était similaire lorsque j'ai essayé d'ouvrir un .o
fichier en C donc je voulais juste m'en assurer.
Merci!
Réponses:
Un fichier JAR n'est en fait qu'un fichier ZIP. Il peut contenir n'importe quoi - il contient généralement du code Java compilé (* .class), mais parfois aussi du code source Java (* .java).
Cependant, Java peut être décompilé - au cas où le développeur obscurcirait son code, vous n'obtiendrez pas de noms de classe / fonction / variable utiles.
la source
Un fichier jar est essentiellement un fichier zip contenant des fichiers .class et potentiellement d'autres ressources (et des métadonnées sur le fichier jar lui-même). Il est vraiment difficile de comparer C à Java, car le code d'octets Java contient beaucoup plus de métadonnées que la plupart des formats binaires - mais le fichier de classe est du code compilé au lieu du code source.
Si vous ouvrez le fichier jar avec un utilitaire zip ou si
jar xf foo.jar
vous exécutez, vous pouvez en extraire les fichiers et les examiner. Notez que vous n'avez pas besoin d' un fichier jar pour exécuter du code Java - les chargeurs de classe peuvent charger des données de classe directement à partir du système de fichiers, ou à partir d'URL, ainsi qu'à partir de fichiers jar.la source
La meilleure façon de comprendre ce que contient le fichier jar est d'exécuter ceci:
Accédez à la ligne de commande et exécutez
jar tvf jarfilename.jar
la source
Un
jar
fichier est un fichier zip avec des fichiers supplémentaires contenant des métadonnées. (Malgré l'extension .jar, il est au format zip et tous les utilitaires qui traitent les fichiers .zip sont également capables de traiter les fichiers .jar.)http://docs.oracle.com/javase/8/docs/technotes/guides/jar/index.html
Les fichiers Jar peuvent contenir tout type de fichiers, mais ils contiennent généralement des fichiers de classe et des fichiers de configuration de support (propriétés), des graphiques et d'autres fichiers de données nécessaires à l'application.
Les fichiers de classe contiennent du code Java compilé, qui est exécutable par la machine virtuelle Java.
http://en.wikipedia.org/wiki/Java_class_file
la source
JAR signifie Java ARchive. Il s'agit d'un format de fichier basé sur le format de fichier ZIP populaire et utilisé pour regrouper de nombreux fichiers en un seul. Bien que JAR puisse être utilisé comme un outil d'archivage général, la motivation principale de son développement était de permettre aux applets Java et à leurs composants requis (fichiers .class, images et sons) d'être téléchargés sur un navigateur en une seule transaction HTTP, plutôt que d'ouvrir une nouvelle connexion pour chaque pièce. Cela améliore considérablement la vitesse à laquelle une applet peut être chargée sur une page Web et commencer à fonctionner. Le format JAR prend également en charge la compression, ce qui réduit la taille du fichier et améliore encore le temps de téléchargement. De plus, les entrées individuelles d'un fichier JAR peuvent être signées numériquement par l'auteur de l'applet pour authentifier leur origine.
la source
Le fichier Jar contient des classes binaires Java compilées sous la forme
*.class
desquelles peuvent être converties en.java
classe lisible en la décompilant à l'aide d'un décompilateur open source. Le jar a également une optionMETA-INF/MANIFEST.MF
qui nous indique comment utiliser le fichier jar - spécifie d'autres fichiers jar à charger avec le jar.la source
Jar (Java Archive) contient un groupe de fichiers .class.
1.Pour créer un fichier Jar (fichier Zip)
if one .class (say, Demo.class) then use command jar -cvf NameOfJarFile.jar Demo.class (usually it’s not feasible for only one .class file) if more than one .class (say, Demo.class , DemoOne.class) then use command jar -cvf NameOfJarFile.jar Demo.class DemoOne.class if all .class is to be group (say, Demo.class , DemoOne.class etc) then use command jar -cvf NameOfJarFile.jar *.class
Pour extraire le fichier Jar (décompresser le fichier)
3. pour afficher la table des matières
la source
Un fichier .jar s'apparente à un fichier .exe. En substance, ce sont tous deux des fichiers zip exécutables (différents algorithmes zip).
Dans un fichier jar, vous verrez des dossiers et des fichiers de classe. Chaque fichier de classe est similaire à votre fichier .o et est une archive java compilée.
Si vous vouliez voir le code dans un fichier jar, téléchargez un décompilateur java (situé ici: http://java.decompiler.free.fr/?q=jdgui ) et un extracteur .jar (7zip fonctionne très bien).
la source
JD-GUI est un outil très pratique pour parcourir et décompiler les fichiers JAR
la source
Un fichier .jar contient du code compilé (fichiers * .class) et d'autres données / ressources liées à ce code. Il vous permet de regrouper plusieurs fichiers dans un seul fichier d'archive. Il contient également des métadonnées. Puisqu'il s'agit d'un fichier zip, il est capable de compresser les données que vous y mettez.
Quelques choses que j'ai trouvées utiles.
http://www.skylit.com/javamethods/faqs/createjar.html
http://docs.oracle.com/javase/tutorial/deployment/jar/basicsindex.html
Le livre OSGi définit en pratique les fichiers JAR comme suit: "Les JAR sont des fichiers d'archive basés sur le format de fichier ZIP, ce qui permet d'agréger de nombreux fichiers en un seul fichier. En général, les fichiers contenus dans l'archive sont un mélange de fichiers de classe Java compilés et de ressources des fichiers tels que des images et des documents. De plus, la spécification définit un emplacement standard dans une archive JAR pour les métadonnées - le dossier META-INF - et plusieurs noms et formats de fichiers standard directement dans ce dernier, le plus important étant le fichier MANIFEST.MF. "
la source
Vérifiez simplement si le
aopalliance.jar
fichier contient des.java
fichiers au lieu de.class
fichiers. si c'est le cas, extrayez simplement le fichier jar, importez-le dans eclipse et créez un fichier jar via eclipse. Cela a fonctionné pour moi.la source
En apprenant à propos de JAR, je suis tombé sur ce fil, mais je n'ai pas pu obtenir suffisamment d'informations pour des personnes comme moi, qui ont une expérience .NET, je vais donc ajouter quelques points qui peuvent aider des personnes comme moi avec une expérience.
Tout d'abord, nous devons définir un concept similaire à JAR dans .NET qui est Assembly et Assembly partage beaucoup en commun avec les fichiers JAR Java.
Ainsi, un assembly est l'unité fondamentale de l'empaquetage de code dans l'environnement .NET. Les assemblys sont autonomes et contiennent généralement le code intermédiaire des classes de compilation, des métadonnées sur les classes et tous les autres fichiers nécessaires au code packagé pour effectuer sa tâche. Étant donné que les assemblys sont l'unité fondamentale de l'empaquetage de code, plusieurs actions liées à l'interaction avec les types doivent être effectuées au niveau de l'assembly. Par exemple , l'octroi d'autorisations de sécurité, le déploiement de code et la gestion des versions sont effectués au niveau de l'assembly.
Les fichiers JAR Java exécutent une tâche similaire en Java, la plupart des différences étant dans l'implémentation. Les assemblys sont généralement stockés sous forme de fichiers EXE ou DLL tandis que les fichiers JAR sont stockés au format de fichier ZIP .
Source d'information -> 5- Assemblées
la source