2017-01-03 40 views
-6

我有一个Java程序,我通过createGraphics()BufferedImage得到Graphics2D并打印出来,并得到了:sun.java2d.SunGraphics2D[font=java.awt........... you get the idea但是当我去我的JDK文件夹存在sun没有文件夹叫java2d我在哪里找到它?Java包未在文件夹中

编辑 好吧,我发现rt.jar(谢谢@EmilyMabrey和@ f1sh),并试图用命令jar xf rt.jar,但看到这个提取它(在Windows 10):

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

我们无法回答这个问题。没有足够的信息。 – byxor

+1

您要查找的内容位于jdk的/ jre的lib文件夹内的''rt.jar''文件中。用winrar/7zip打开它。这个jar文件位于vm的默认类路径中,这就是您可以在应用程序中使用的原因。 – f1sh

+1

您正在收到错误,可能是因为您正在使用没有写入权限的用户正在运行该命令,该目录是'jar xf'试图写入的目录。请使用管理员/ root用户运行该命令,或者从您拥有r/w权限的目录运行该命令。 jar命令支持一个“-c”选项,它将简化使用特定的输出目录。如果使用该选项,命令将变为'jar xf rt.jar -c <路径/到/可写/目录>'。确保看到JAR工具帮助页面[here](http://docs.oracle.com/javase/8/docs/technotes/tools/windows/jar.html) –

回答

1

见这个other Stack Overflow Q/A关于运行时JAR(rt.jar或classes.jar,取决于您使用的操作系统)。这个JAR基本上就像您为项目编写的任何其他JAR一样,除了不是库或应用程序之外,该JAR包含JVM本身内部使用的和由其提供的类。包定义了编译类在JAR中的存储方式(它们不是不是文件系统文件夹)的文件夹结构,因此您必须查看JAR本身才能找到文件夹/包sun/java2d。您可以按照how to unzip a JAR上的说明查看JAR的文件和文件结构。