2024年5月27日发(作者:)

docx4j 入门

这份文件的最新版本总是可以找到 docx4j svn in /docs (在 Flat OPC XML 格

式为Word 2007, HTML ,和 PDF )。

这份文件是从英文翻译使用谷歌翻译。 如果你能提高翻译,请随时发送给你的

改进版。 对于最近的报告,总是指英文版本。

什么是 docx4j?

docx4j 是一个解压的docx一个“一揽子”库,并解析WordprocessingML XML

创建一个内存中的代表性 Java 。 最新版本的 docx4j 也支援PowerPoint pptx

文件。

它是在概念上类似于微软的OpenXML SDK,它是对的。NET。

docx4j 是开源的,可以按照Apache许可证(2版)。 作为一个开放源码项目,

欢迎踊跃投稿。 请参阅 docx4j 论坛 /forums/ 了解

详情。

docx4j 严重依赖 JAXB,XML绑定的Java JCP标准。 你能想到的 docx4j 作为

一个JAXB的实施除其他():

打开包装公约

WordprocessingML(docx)的,开放的XML部分

Presentation ML (pptx) part of OpenXML

该库是为了圆100%保真度之行docx文件,支持所有2007 WordML中。 为新的

Word 2010功能的支持我们会尽快添加。

该 docx4j 项目是由 Plutext ( )。

是 docx4j 为你?

docx4j 负责处理的docx文件(和pptx介绍)在爪哇。

这不是旧的二进制(。doc)格式文件。 针对这一情况,看看在Apache的POI

的HWPF。 (事实上, docx4j 使用基本转换HWPF。文件,以。docx)的

它也不是为RTF文件。

如果你要处理的。NET平台的docx文件,你应该看看微软的OpenXML SDK的代

替。

一种替代方法 docx4j 是Apache的POI。 我特别建议,对于处理Excel文件。

它也可以用来处理Word文档,而且由于它使用XMLBeans的(不使用JAXB)它

可能是一个更好的选择,如果你想使用XMLBeans。

什么样的事情可以做各种各样 docx4j?

打开现有的docx文件系统(从SMB / CIFS通讯,使用WebDAV的VFS的)

创建新的docx

编程操作(当然docx文档)

Template substitution; CustomXML binding

导入二进制文档(使用Apache的POI HWPF)

生产/消费的Word 2007的xmlPackage(封装)格式

保存的docx,以文件系统作为一个的docx(即压缩),或的JCR(解压)

申请转换,包括常用的过滤器

导出为HTML或PDF

漫射/比较文件,段落或特殊和差别待遇(内容控制)

支持字体(字体替换,文件中使用嵌入任何字体)

项目使用 docx4j

Docx4all是基于Swing的文字处理器。

Plutext Word 2007的协作使用 docx4j 在服务器上,以切碎成更小的字,可独

立版本件文件。

请联系Plutext如果您希望您的项目在这里列出。

什么它支持Word文档?

docx4j 可以读/写或Word 2007中,或已安装该兼容包的早期版本创建的docx

文件。

相关零件 docx4j 从ECMA的生成模式。

它不能读/写的Word 2003 XML文档。 与这些主要问题是,XML命名空间是不同

的。

docx4j 支持的Word 2010的docx文件。

运用 docx4j 二进制文件

你可以下载最新版本 docx4j 从 /docx4j/

一般来说,我们建议您开发的最新正式发布以来针对目前每晚构建,往往是几个

个月大。

支持jar文件中可以找到的。的版本,或者在有关的子目录。

运用 docx4j 通过 Maven

Maven POM 可在

/trac/docx4j/browser/trunk/docx4j/m2/org/docx4j

/docx4j

JDK版本

你需要使用 Java 1.5+。

这是因为JAXB的

1

。 如果您必须使用1.4,retrotranslator可以 使据说 它

的工作。

关于JAXB的字

docx4j 使用JAXB的马歇尔和unmarshall在WordprocessingML文档中的关键部

件,包括主要文件的一部分,风格的一部分,主题的一部分,性能部分。

JAXB是包含在Sun的Java 6中的分布,而不是1.5。 因此,如果您使用的是

1.5的JDK,你将需要在您的类路径的JAXB 2.1.x。

位的 docx4j如 和 产生了使用JAXB的XJC。

我们修改了,特别是模式,使产生的关键类是多一点人友好的(即不是

所有的CT_和ST_开始)。

Log4j的

docx4j 使用log4j的日志记录。 要启用日志记录,您需要在您的类路径

ties或。 例如见

/trac/docx4j/browser/trunk/docx4j/src/main/reso

urces/

Javadoc

网上浏览或下载Javadoc中,可以发现在目录

/docx4j/

docx4j 源代码

要获取该电流源代码的副本:

svn co

/svn/docx4j/trunk/docx4j

docx4j

或者,你可以浏览它的在线,网址为:

/trac/docx4j/browser/trunk/docx4j/

建筑 docx4j 从源

命令行 - 快捷操作

“快”,即只要你有Maven和Ant安装。 请注意,我们只是使用Maven来获取

依赖,不求实际的建设。

创建一个目录称为工作区,和CD进去。

svn co

/svn/docx4j/trunk/docx4j

docx4j

开放的,找到一行字:

/usr/lib/jvm/java-6-sun/jre/lib/

并编辑它来适应你的系统。

mvn install

ant dist

这ant命令将创建并把它和所有在dist目录的依赖关系。

日食

先决条件

Eclipse的安装

安装一个Eclipse插件,例如颠覆

/update_1.2.x

安装 Maven and the Eclipse plugin

而且,正如上面讨论:

Java 1.5或6

JAXB的: 既 包括执行的JAXB的Java 6中, 并 在2.x的参考实现。 (这

是运行时的价格支持功能)

说明

File > New "Project .." > SVN > Checkout Projects from SVN

创建一个新的存储库的位置;网址是 /svn/docx4j

点击文件夹 "trunk",并选择docx4j;点击下一步

您要检查它作为一个项目配置使用新建项目向导

然后选择Java> Java项目,请点击下一页

选择一个项目名称(例如,'docx4j'),然后单击下一步

点击完成(我们将定义的Java构建步骤设置在后面)

经过其他对话框的情侣,你应该在你的工作区的新项目。

现在,我们需要配置 类路径 的Eclipse等内,以便它可以建立。

生成路径>“配置构建路径> Java构建路径>源标签

点击钢骨混凝土,然后按删除按钮

然后点击“添加文件夹”,并浏览到src /主/ Java和剔的Java'

然后添加 src/svg, src/diffx and src/pptx4j/java 以及

在Maven位:

请确保您有安装Maven和它的插件-见上面的先决条件。

安装在运行mvn docx4j 你从命令提示符(以防万一)

合适的项目点击>的Maven 2>“启用

该项目现在应该在Eclipse工作没有错误

2

打开一个现有的docx文件

es. WordprocessingMLPackage 代表

一个docx文档。

要加载的文件,所有您需要做的是:

WordprocessingMLPackage wordMLPackage =

(new (inputfilepath));

这种方法还可以加载平板的OPC XML文件。

然后,您可以得到的主要文件的一部分(字/ ):

MainDocumentPart documentPart = nDocumentPart();

在此之后,您可以操作的内容。

WordML中的概念

要做到这远远超出任何事情,你需要有一个基本的WordML中概念的理解。

根据微软开放包装规格,每个的docx文件是由一个部分文件的数量,压缩了。 通

常是XML的一个部分,但未必是(1图像的一部分,例如,是不是)。

一个WordML中介绍了文件的范围超出了这一点。 你可以找到一个非常可读引入

1

第3版(底漆)在

/publications/standards/

/news/TC45_current_work/TC45_availab

le_ (一更好的联系,因为它不是压缩了)。

JAXB的:编组和解组

docx4j 包含一个类代表每个部分。 例如,有一个 MainDocumentPart 类。 XML

的部分继承 JaxbXmlPart ,其中包含一个成员叫 jaxbElement。 当你要处理

的一个部分的内容,你的工作与jaxbElement。

当你打开一个docx文档使用 docx4j, docx4j 自动

反编排

的XML部分的内容

每到一个强类型的Java对象树( jaxbElement)。

同样,如果/当你告诉 docx4j 保存为这些Java对象的docx, docx4j 自动

的 jaxbElement 在每一部分。

有时候你会希望自己的东西编组或解组。 类

t

定义了所有

的用于JAXBContexts docx4j:

Jc

e

ocessingDrawing

drawing

jcThemePart

jcDocPropsCore

ts

jcDocPropsCustom

jcXmlPackage

jcRelationships

jcContentTypes

jcPML

kage

onships

ttype

e

jcDocPropsExtended

ed

jcCustomXmlProperties

XmlProperties

建筑

docx4j 有3个层次:

1。 ckaging

OpenPackaging处理层次的东西在开放式打包约定:解压缩1到的docx

WordprocessingMLPackage 和一个第二部分设置继承的对象,允许部分被添

加/删除;保存的docx

这一层本来是基于OpenXML4J(也是由Apache POI的使用)。

一般子类零件 lPart

零件都被排列在一棵树上。 如果部分后裔,将有

onshipsPart

其中确定的后裔部分。 该示例PartsList(见下一节)告诉您如何工作的。

阿JaxbXmlPart有一个内容树:

public Object getJaxbElement() {

return jaxbElement;

}

public void setJaxbElement(Object jaxbElement) {

ement = jaxbElement;

}

2。 在 JAXB的 内容树 是分层模型的第二个级别3。

大部分地区(包括MainDocumentPart,样式,页眉/页脚,注释, 尾注 /脚注)

的使用 (WordprocessingML); WML的 提述

图形处理(DrawingML)作为必要的。

这些类都从打开XML模式

3。

这个软件包的基础上降低2层,提供额外的功能,并正在逐步进一步发展。

样品

该封装s包含例子如何做事与 docx4j。 这些措施包括:

基础知识

CreateWordprocessingMLDocument

DisplayMainDocumentPartXml

OpenAndSaveRoundTripTest

OpenMainDocumentAndTraverse

输出/转型

CreateHtml

CreatePdf

扁平的OPC XML的

ExportInPackageFormat

ImportFromPackageFormat

图像处理

AddImage

ConvertEmbeddedImageToLinked

第一部分处理

CopyPart

ImportForeignPart

PartsList

StripParts

杂项

CompareDocuments

CreateDocxWithCustomXml

CustomXmlBinding

DocProps

Filter

HyperlinkTest

NumberingRestart

UnmarshallFromTemplate

如果您安装了源代码,你就会有这个包了。

如果你没有,你可以浏览它的在线,在

/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/sa

mples

此外,还有各种 样本文件 在/采样docs目录,这些是最容易通过检查进行访问

docx4j 使用svn。

零件清单

为了更好地了解如何 docx4j 工程和一个docx文档的结构你可以运行

PartsList 样本上的docx(或pptx)。 如果这样做,它会列出包层次结构,在

部分地区采用。 它会告诉你哪个类是用来表示每个部分,如该部分是一个

JaxbXmlPart,它还会告诉你什么阶层的

jaxbElement

的。

例如:

Part /_rels/.rels [onshipsPart]

containing JaxbElement:onships

Part /docProps/ [psExtendedPart]

containing JaxbElement:ties

Part /docProps/ [psCorePart]

containing JaxbElement:operties

Part /word/

[cumentPart]

containing JaxbElement:nt

Part /word/

[

ocessingML

.DocumentSettingsPart]

containing JaxbElement:ings

Part /word/

[

ocessingML

.StyleDefinitionsPart]

containing JaxbElement:

Part /word/media/

[

ocessingML

.ImageJpegPart]

遍历的docx

在样本目录显示您如何遍历一个的docx

JAXB的代表性。

关于JAXB的一个恼人的东西,是一个对象说一个表可以表示为

(如您所期望的)。 或者它可能被包装在一个

ement

在这种情况下,我得到了真正的表,你必须做的是这样

的:

if ( ((JAXBElement)o).getDeclaredType().getName().equals(

""

) )

任务型=()((JAXBElement)海外)。的getValue();

创建一个新的docx

要创建一个新的docx:

/ /创建包

WordprocessingMLPackage wordMLPackage = Package();

/ /保存它

(new ("") );

就是这样。

createPackage()

是一个方便的方法,它的作用:

/ /创建包

WordprocessingMLPackage wordMLPackage = new WordprocessingMLPackage();

/ /创建主文档的一部分(字/ )

MainDocumentPart wordDocumentPart = new MainDocumentPart();

/ /创建主文档的一部分内容

ObjectFactory factory = ObjectFactory();

body = factory .createBody();

nt wmlDocumentEl = factory .createDocument();

y(body);

/ /把在部分内容

bElement(wmlDocumentEl);

/ /添加主文档的一部分包关系

/ /(创造,如果有必要)

getPart(wordDocumentPart);

添加一段文字

MainDocumentPart

包含一个方法:

public .P addStyledParagraphOfText(String styleId, String text)

您可以使用该方法添加一个段落,使用指定的样式。

我们正在寻找的XML创建将是这样的:

<

w:p xmlns:w

="/wordprocessingml/2006/main"

>

<

w:r

>

<

w:t

>

Hello world

w:t

>

w:r

>

w:p

>

addStyledParagraphOfText

生成的JAXB对象结构的方式,并将其添加到文档中。

ObjectFactory factory = ObjectFactory();

/ /创建该段

.P para = P();

/ /创建文本元素

t = Text();

ue(simpleText);

/ /创建运行

.R run = R();

Content().add(t);

agraphContent().add(run);

/ /现在我们添加到文档的正文段

Body body = y();

lockLevelElts().add(para)

或者,您可以通过编组XML的一段:

/ /假设字符串XML包含以上XML

.P para = halString(xml);

对于这个工作,你需要确保所有的命名空间中声明的字符串正确。

添加部分

如果你想添加一个新的风格的一部分? 具体方法如下:

/ /创建一个样式的一部分

StyleDefinitionsPart stylesPart = new StyleDefinitionsPart();

/ /填充它默认风格

halDefaultStyles();

/ /添加样式的一部分主文档部分的关系

getPart(stylesPart);

你会采取同样的方法添加页眉或页脚。

当您添加一个这样的一部分,它会自动添加到源部分的关系的一部分。

一般来说,您还需要添加一个引用的部分(使用的关系身份证)到主文档的一部

分。 这适用于图像,标题和页脚。 (注释,脚注和尾注有一点不同,那是你添

加到主文档的一部分,是/脚注/尾注的个人意见,参考文献)。

的docx到(X)HTML的

docx4j 使用XSLT的docx转换为XHTML 1:

AbstractHtmlExporter exporter = new HtmlExporterNG2();

/ /注意:* 2 *有

/ /写入StreamResult(在这种情况下,输出流)

OutputStream os = new tputStream(inputfilepath + ".html"

);

Result result

= new Result(os);

(wordMLPackage, result,

inputfilepath + "_files"

);

你会发现生成的HTML是干净的。

docx4j 使用Java的XSLT扩展函数做繁重,所以对XSLT本身就是尽量简单。

的docx为PDF

docx4j 生产的XSL的,它可以反过来用于创建PDF。

目前,维克多被集成到Apache的 docx4j 用于创建PDF格式。 (不久,我们将

改变这么多的事 docx4j 生成的,由您首选使用的渲染,不管是维克多,或如

XEP商业工具)。

要创建一个PDF:

/ /字体身份映射微软Windows最佳

tMapper(

new IdentityPlusMapper());

/ /设置转换器

version c

= new sion(wordMLPackage);

/ /写入到输出流

OutputStream os = new tputStream(inputfilepath + ".pdf"

);

(os);

图像处理

当您添加一个图像到Word 2007文档中,一般增加一条,作为一个新的部分(ie

你会发现在产生的docx的一部分,包含base 64格式化图像)。

当您打开该文档中 docx4j, docx4j will create an image part representing

it.

它也可以创建一个链接的图像。 在这种情况下,图像不是嵌入的docx包,而是

正处于外部位置引用。

docx4j之

BinaryPartAbstractImage

类包含的方法,使您可以同时创建嵌入和链

接的图像以及适当的关系()。

/ **

*创建一个字节数组从所提供的图像的一部分,其附加到

*主要文件的一部分,并返回它.* /

public static BinaryPartAbstractImage createImagePart(WordprocessingMLPackage

wordMLPackage,

byte

[] bytes)

/ **

*创建一个字节数组从所提供的图像的一部分,其附加到源的一部分

*(如主文件的一部分,一个头的一部分等),并返回它.* /

public static BinaryPartAbstractImage createImagePart(WordprocessingMLPackage

wordMLPackage,

Part sourcePart, byte

[] bytes)

/ **

*创建一个链接的图像的一部分,并附作为其指定的源部分制造业│

*(例如一个头的一部分)

* /

public static BinaryPartAbstractImage createLinkedImagePart(

WordprocessingMLPackage wordMLPackage, Part sourcePart, String fileurl)

对于一个图像显示在文档中,我们还需要在适当的XML主文档的一部分。 这个

XML可以采取2基本形式:

在Word 2007 瓦特:绘制 表格

="0" distB

="0" distL

="0" distR

="0"

>

="3238500" cy

="2362200" /

>

="19050" t

="0" r

="0" b

="0" /

>

:

:

<

a:blip r:embed

="rId5"

/ >

:

<

/

pic:blipFill>

:

<

/

pic:pic>

<

/

a:graphicData>

<

/

a:graphic>

<

/

wp:inline>

<

/

w:drawing>

<

/

w:r>

<

/

w:p>

在Word 2003的VML的 瓦特:的PICT 格式

="_x0000_t75" coordsize

="21600,21600" .. >

="miter" /

>

:

<

/

v:formulas>

:

<

/

v:shapetype>

style

="width:428.25pt;height:321pt"

>

<

v:imagedata r:id

="rId4"

o:title

="" /

>

<

/

v:shape>

<

/

w:pict>

<

/

w:r>

<

/

w:p>

docx4j 可以创建Word 2007 瓦特:绘图/可湿性粉剂:内嵌 您形式:

/ **

* Create a element suitable for this image,

*可链接或嵌入在w:对/瓦特:读/写:绘图。

* If the image is wider than the page, it will be scaled

*自动。 查看Javadoc的其他签名。

* @帕拉姆库马拉 filenameHint,例如任何文字的原始文件名

* @帕拉姆库马拉 文本altText像HTML的ALT键

* @帕拉姆库马拉 分化抑制因子ID1一个独特的身份证明文件

* @帕拉姆库马拉 id2另一个独特的身份证明文件

* @帕拉姆库马拉 链接

,如果这是真的要 联系不嵌入

* /

public Inline createImageInline(String filenameHint, String altText,

int id1, int id2, boolean link)

然后您可以添加到 瓦特:读/写:绘图。

最后, docx4j,你可以由Word格式转换(如PDF),不支持到PNG,这是一个

支持格式的图片。 为此, docx4j 使用 ImageMagick的。 因此,如果您想使

用此功能,您需要安装ImageMagick的。 docx4j 调用ImageMagick的使用:

Process p = time().exec( "imconvert -density " + density + " -units PixelsPerInch

- png:-"

);

注意名称 imconvert ,这是用来让我们没有提供一个完整路径执行官。 您需要

容纳的。

文本提取

一个快速的方法来提取文本从一个的docx,是使用

TextUtils

public static void extractText(Object o, Writer w)

其中元帅它是通过一个SAX ContentHandler的传递的对象,以输出到作家的文

本。

文本替换

文本替换很容易,只要你是一个搜索字符串中是代表

表格对象在您的期望。

不过,这并不一定是如此。 该字符串可以在运行文本打破出于以下几个原因:

字部分的格式不同(例如在大胆)

拼写/语法

编辑命令(rsid)

docx4j 最终将容纳这些案件,但不是现在。

除这一点,你可以在多种方式的文本替换,例如:

遍历主文档的一部分,看 对象

元帅为一个字符串,搜索/替换,那么和解组再次

docx4j s XmlUtils还包括:

/ **

*给一个包含WML的字符串$(key1),)$(key2,返回一个合适的

*对象.* /

public static Object unmarshallFromTemplate(String wmlTemplateString,

的p

见UnmarshallFromTemplate的例子,在一个包含字符串操作:

My favourite colour is ${colour}

.

<

/

w:t>

<

/

w:r>

<

/

w:p>

>

My favourite ice cream is ${icecream}

.

<

/

w:t>

<

/

w:r>

<

/

w:p>

提示和技巧

与平面的OPC XML格式

当你想看看里面一个docx文档,它是一个有点疼痛不得不把它解压到看一看有

关的部分。

有2个解决此方法。

一个是 /PackageExplorer ,可以解压缩的docx,和

漂亮的打印部分。

另一种方法是保存为Word XML文档(*. xml的docx)的。 这将产生一个XML

文件,您可以打开一个XML编辑器,如XPontus。

docx4j 可以打开单位的OPC XML文件,并保存它们。

要打开一个平面的OPC XML文件:

WordprocessingMLPackage wordMLPackage =

(new (inputfilepath));

为了保存为扁平的OPC的XML:

(new (outputfilepath));

在这两种情况下,平OPC的代码将被用于当且仅当文件扩展名是。xml的。

记住UnmarshalFromString

当你操纵的docx文件,它是很有用的解组片段的XML(如字符串,表示一个段

落要插入到文档)。

例如,给定:

<

w:p xmlns:w

="/wordprocessingml/2006/main"

>

<

w:r

>

<

w:t

>

Hello world

w:t

>

w:r

>

w:p

>

您可以简单:

/ /假设字符串XML包含以上XML

.P para = halString(xml);

克隆

要克隆一个JAXB对象,在XmlUtils使用下列方法之一:

/ **克隆这个JAXB对象,使用默认JAXBContext。 * /

public static T deepCopy(T value)

/ **克隆这个JAXB对象* /

public static T deepCopy(T value, JAXBContext jc)

@XmlRootElement

最常用的对象有一个 @ XmlRootElement 注释,这样他们就可以被整理和

unmarshalled。

在某些情况下,您可能会发现这个注释丢失。

如果您不能添加到JAXB注释的源代码,另一种是 马歇尔 它使用代码是明确的

担忧由此产生的QName。 例如,XmlUtils包含:

/ **元帅到W3C的文件,供对象

*缺少@ XmlRootElement注解。 * /

public static nt marshaltoW3CDomDocument(Object o, JAXBContext jc,

String uri, String local, Class declaredType)

你可以使用这像这样:

CTFootnotes footnotes =

nDocumentPart().getFootnotesPart().getJaxbElement().getValue();

CTFtnEdn ftn = tnote().get(1);

/ /没有对CTFtnEdn @ XmlRootElement,所以..

Document d = ltoW3CDomDocument( ftn,

, _WORD12, "footnote"

, CTFtnEdn.

class );

如果您需要解组,您可以使用:

public static Object unmarshalString(String str, JAXBContext jc, Class declaredType)

该 docx4j 论坛

自由的社会中提供的支持 docx4j 座谈会上,在

/forums/

这种讨论通常是在英国。 如果你能以温和的志愿者在您的语言论坛,请告诉我

们。

其他支持选项

如果自由社会的支持,可用 docx4j 论坛不能满足您的需求,或者您只是想外包

一些编码,欢迎您购买节目,咨询和优先支持

/m//

通过购买Plutext服务,你支持持续发展 docx4j。

路线图

2010字的支持。 机制,支持新的XML元素/字模式推出了2010年,和兼容性。

这是3.0标签的主要理由为。

网页出口商: 摆脱旧的; NG2的规范。 这样做是为了消除任何'是我应该用'混

乱,并集中精力/诀窍。

PDF格式出口商: viaXSLFO规范,并获得viaHTML摆脱viaIText和。 由于使

用HTML,这个想法是消除任何'我应该用'混乱,并集中精力/诀窍。 docx4j 可

以生产只,并在用户依靠维克多或有相当于实际生产PDF格式的XSL。 这将减

少依赖性,使 docx4j 打火机。 这样做的目的是要消除的fop罐(280万),

PDF格式渲染罐(160万),iText的罐(1.1米),且核心渲染器(100万)。

字体处理: 删除潘糖的东西,所以我们并不需要一个定制的维克多罐子。

布局模型/中间格式: docx4j 包含DocumentModel,可以进一步发展,以支持:

搜索/替换

估算网页内容

样式,关闭部分,列出了

插入OLE对象:这样的电子表格,PDF文件等可以嵌入。

版本说明

这个文件是写在Word 2007中,使用:

漂亮的打印使用的XML

/webTools/XmlPrettyPrint/ 或包资源

管理器

Java源代码格式化使用

PDF和HTML版本的使用产生 docx4j (通过的维克多的XSL和PDF格式)。

联系Plutext

除非你付出的支持,我怎么类型一般问题应直接向被张贴 docx4j forum 。

Plutext可以张贴到论坛的任何问题通过电子邮件应该已经向论坛接收。

Plutext可以在任何联系 *****************或 *******************

1

/jive/?threadID=411

2

,如果你得到错误'的访问限制:该类型 是不是中获得所需的库因限

制'(或许用一些与组合的Eclipse 3.4 /或JDK 6更新10?),你需要进入生

成标签路径的项目,图书馆,选择JRE的系统库,并添加一个访问规则,“无障

碍,**”。