在 XPage 应用程序中使用 docx4j

0 java ms-word docx4j xpages

我正在尝试在 XPage 应用程序中安装 docx4j 开源 java 库,但到目前为止尚未成功。我已经下载了 docx4j-3.1.0.jar 并将其添加到 domino 服务器和本地计算机上的 \jvm\lib\ext 文件夹中。我还使用 Package Explorer 视图将 docx4j-3.1.0.jar 添加到 WebContent\WEB-INF\lib 文件夹中,然后右键单击 .jar 并选择“构建路径”->“添加到构建路径”这样 .jar 现在就出现在“引用的库”下。

在我用来测试的 Java 类中,我看到消息“此元素没有附加源,并且在附加 Javadoc 中找不到 Javadoc”。我的代码如下:

package TESTPackage;

import org.docx4j.openpackaging.packages.WordprocessingMLPackage;

public class JavaDoc {

  public void createJavaDoc() {

    try {
      WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();
      wordMLPackage.getMainDocumentPart().addParagraphOfText("Hello Word!");
      wordMLPackage.save(new java.io.File("C:\\Temp\\HelloWord1.docx"));

    } catch (Exception e) {
      e.printStackTrace();
    }

  }

}
Run Code Online (Sandbox Code Playgroud)

关于我还必须做什么有什么建议吗?

Ben*_*Ben 5

我能够通过 XPage 中的按钮在 Notes 客户端中运行您的代码。要使该代码正常工作需要执行几个步骤(Domino 是一个难以可靠运行 Java 代码的平台):

  1. 将 docx4j及其依赖项添加到工作站/服务器的lib\ext目录中(您在 NSF 中也不需要它们。事实上,从那里删除它们)。

  2. 按如下方式编辑 Domino JVMjava.policy文件。(该文件通常位于安装目录下\jvm\lib\security)。请注意,对于开发工作,可以将此行添加到顶部,但您不能使用它进入生产:您需要通过通配符包名称或操作类型来关注允许的操作:

    grant { permission java.security.AllPermission; };

  3. 重新启动 Notes/Domino Designer

  4. 构建您的项目。注意:如果您“清理”项目,请记住旧式“包含”Java 文件(即local在 Domino 8.5.2 或更早版本上直接放置在 NSF 文件夹中的文件)将被删除,因此您将需要重新创建它们。

  5. 按照您的帖子中的方式运行代码:现在应该生成文件。

您遇到的问题可能归结为两件事:(1)缺少依赖项;(2) Domino 中的安全设置禁止所需的类加载和反射操作。