我正在用java编写一个将数据和图像存储到pdf的应用程序。我正在使用pdfbox。我看到 pdf 框有一些 jar,例如用于数据加密的 jar,必须通过命令行运行。
有没有办法在我班级的一个功能中运行这些 jar?我的意思是在事件发生后开始由这个 jar 处理的加密。如何从我的班级中启动命令行?
例如:
if(IHaveData() && FileCreated())
*Encrypt the data*
预先感谢所有愿意提供帮助的人,即使问题可能很愚蠢或其他什么
我正在用java编写一个将数据和图像存储到pdf的应用程序。我正在使用pdfbox。我看到 pdf 框有一些 jar,例如用于数据加密的 jar,必须通过命令行运行。
有没有办法在我班级的一个功能中运行这些 jar?我的意思是在事件发生后开始由这个 jar 处理的加密。如何从我的班级中启动命令行?
例如:
if(IHaveData() && FileCreated())
*Encrypt the data*
预先感谢所有愿意提供帮助的人,即使问题可能很愚蠢或其他什么
我们不运行罐子。我们运行应用程序。Java 应用程序由可以存储在文件系统或jar
文件中的类和资源的集合组成。
要运行 java 应用程序,您应该使用类似的命令行
java -cp one.jar;two.jar;three.jar Main
在哪里
Main
是您的入口点的完全限定类名。您显然可以使用Runtime.getRuntime().exec()
或使用ProcessBuilder
. “任何”意味着您显然可以从其他 java 应用程序运行 java 应用程序。
但是这种方式有很多明显的缺点。相反,您应该运行您正在使用的库公开的 API。如果它没有公开方便的 API,你可以在更糟糕的情况下直接从你的程序中调用 main 方法:
Main.main(new String[] {param1, param2})