在java apllication中运行jar(pdfbox)

时间:2013-05-29 09:53:05

标签: java pdf encryption jar pdfbox

我正在用java编写应用程序,将数据和图像存储到pdf中。我正在使用pdfbox。我看到pdf框有一些像数据加密那样的jar,必须由命令行运行。

有没有办法在我班级的某个功能中运行这些jar?我的意思是在事件发生后启动由此jar处理的加密。如何在班级中启动命令行?

例如:

if(IHaveData() && FileCreated())
*Encrypt the data*

提前感谢所有想要提供帮助的人,即使这个问题可能是愚蠢的或者是什么

1 个答案:

答案 0 :(得分:2)

我们不运行罐子。我们运行应用程序Java应用程序由一组类和资源组成,这些类和资源可以存储在文件系统或jar文件中。

要运行java应用程序,您应该使用命令行,如

java -cp one.jar;two.jar;three.jar Main

,其中

  • x.jar - jar文件
  • ; - 窗口分隔符。使用:for unix
  • Main是您的入口点的完全限定类名。

您显然可以使用Runtime.getRuntime().exec()或使用ProcessBuilder从Java程序运行任何命令行。 “任何”意味着你显然可以从其他java应用程序运行java应用程序。

然而,这种方式有很多明显的缺点。相反,您应该运行您正在使用的库公开的API。如果它没有暴露方便的API,你可以在更糟糕的情况下直接调用程序中的main方法:

Main.main(new String[] {param1, param2})