2017-01-03 3 views
-6

J'ai un programme java où je reçois le Graphics2D d'un BufferedImage via createGraphics() et imprimé dehors et a obtenu: sun.java2d.SunGraphics2D[font=java.awt........... you get the idea mais quand je vais à mon dossier jdk il n'y a pas de dossier dans sun appelé java2d où dois-je trouve le?package Java pas dans les dossiers

Modifier Ok, j'ai trouvé rt.jar (merci @EmilyMabrey et @ f1sh), et a essayé de l'extraire (sous Windows 10) avec la commande jar xf rt.jar mais la scie ceci:

java.io.IOException: META-INF : could not create directory 
      at sun.tools.jar.Main.extractFile(Main.java:1050) 
      at sun.tools.jar.Main.extract(Main.java:981) 
      at sun.tools.jar.Main.run(Main.java:311) 
      at sun.tools.jar.Main.main(Main.java:1288) 
+0

Nous ne pouvons pas répondre à cette question. Il n'y a pas assez d'informations. – byxor

+1

Ce que vous cherchez est dans le fichier '' rt.jar'' dans le dossier lib de jdk's/jre. Ouvrez-le avec winrar/7zip. Ce fichier jar est dans le classpath par défaut de vm, c'est pourquoi vous pouvez l'utiliser dans votre application. – f1sh

+1

Vous obtenez une erreur probable parce que vous exécutez la commande en utilisant un utilisateur sans autorisation d'écriture pour le répertoire 'jar xf' essaie d'écrire dans. Exécutez la commande à l'aide de l'administrateur/utilisateur root ou exécutez la commande à partir d'un répertoire pour lequel vous disposez d'autorisations r/w. La commande jar supporte une option "-c" qui simplifiera l'utilisation d'un répertoire de sortie spécifique. Si vous utilisez cette option, la commande devient 'jar xf rt.jar -c '. Assurez-vous de voir la page d'aide de JAR Tool [ici] (http://docs.oracle.com/javase/8/docs/technotes/tools/windows/jar.html) –

Répondre

1

Voir ce other Stack Overflow Q/A sur le JAR d'exécution (rt.jar ou classes.jar en fonction du système d'exploitation que vous utilisez). Ce JAR est fondamentalement comme n'importe quel autre JAR que vous pourriez écrire pour un projet, excepté qu'au lieu d'être une bibliothèque ou une application, ce JAR contient les classes utilisées dans et fournies par la JVM elle-même. Les packages définissent la structure des dossiers dans lesquels les classes compilées sont stockées dans le JAR (ne sont pas des dossiers de système de fichiers). Vous devez donc rechercher dans le JAR lui-même le dossier/package sun/java2d. Vous pouvez regarder les fichiers et la structure de fichier du fichier JAR en suivant les instructions au how to unzip a JAR.