在 Grails Web 应用程序中使用独立的 JAR 文件
Use a standalone JAR file in a Grails web application
我正在构建一个需要在其核心中使用独立 JAR 文件的 Web 应用程序。本质上,我有一个打包为 JAR 文件的应用程序模块,我可以 运行 在命令提示符下使用如下命令成功 java -jar myapp.jar
并且可以根据需要传递一些附加参数(基本上是要处理的文件名).此 JAR 对其他 JAR 文件有一些依赖性,这些文件位于与 myapp.jar
文件位于同一文件夹中的 libs 文件夹中。作为通过命令提示符执行的独立 JAR 文件,所有这些工作正常。
现在,我需要在 Web 应用程序中使用这个 JAR 并进行相同类型的处理。我已经有了一个基于 Grails 的 Web 应用程序设置,其中包含所需的 UI 等,并且我已经在我的 Grails Web 应用程序的 lib
文件夹中添加了所有必需的 JAR 库。我也将 myapp.jar
文件放在同一个 lib 文件夹中。
我对如何通过 Web 应用程序的控制器方法 运行 这个 myapp.jar
文件感到有点困惑?基本上,我的 Web 应用程序中有一个表单,用户可以在其中指定需要由 myapp.jar
处理的所需文件路径,然后用户将单击 Run/Submit 按钮。之后,我需要使用提供的文件路径参数启动 myapp.jar
,并将 resulting/processed 文件放在某个指定位置。
因此,基本上通过 Web 应用程序的控制器方法在命令提示符下执行类似于独立 JAR 执行的处理。
有人可以指导我完成此操作的正确过程吗?
在这方面的任何帮助将不胜感激。
如果您查看 myapp.jar
文件内 /META-INF/
目录中的 MANIFEST.MF
,您应该会找到 Main-Class
属性。例如,如果 main class 是 com.example.MyApp
,您应该能够从您的代码(即从您的 Grails Controller 方法)调用它的静态 main 方法。
String[] args = new String[] { '/path/inputFile', '/path/outputFile' }
com.example.MyApp.main(args)
// do something with output file
如果您可以访问 myapp.jar
的源代码,您最好查看 main
的功能,然后直接使用 API。
我正在构建一个需要在其核心中使用独立 JAR 文件的 Web 应用程序。本质上,我有一个打包为 JAR 文件的应用程序模块,我可以 运行 在命令提示符下使用如下命令成功 java -jar myapp.jar
并且可以根据需要传递一些附加参数(基本上是要处理的文件名).此 JAR 对其他 JAR 文件有一些依赖性,这些文件位于与 myapp.jar
文件位于同一文件夹中的 libs 文件夹中。作为通过命令提示符执行的独立 JAR 文件,所有这些工作正常。
现在,我需要在 Web 应用程序中使用这个 JAR 并进行相同类型的处理。我已经有了一个基于 Grails 的 Web 应用程序设置,其中包含所需的 UI 等,并且我已经在我的 Grails Web 应用程序的 lib
文件夹中添加了所有必需的 JAR 库。我也将 myapp.jar
文件放在同一个 lib 文件夹中。
我对如何通过 Web 应用程序的控制器方法 运行 这个 myapp.jar
文件感到有点困惑?基本上,我的 Web 应用程序中有一个表单,用户可以在其中指定需要由 myapp.jar
处理的所需文件路径,然后用户将单击 Run/Submit 按钮。之后,我需要使用提供的文件路径参数启动 myapp.jar
,并将 resulting/processed 文件放在某个指定位置。
因此,基本上通过 Web 应用程序的控制器方法在命令提示符下执行类似于独立 JAR 执行的处理。
有人可以指导我完成此操作的正确过程吗?
在这方面的任何帮助将不胜感激。
如果您查看 myapp.jar
文件内 /META-INF/
目录中的 MANIFEST.MF
,您应该会找到 Main-Class
属性。例如,如果 main class 是 com.example.MyApp
,您应该能够从您的代码(即从您的 Grails Controller 方法)调用它的静态 main 方法。
String[] args = new String[] { '/path/inputFile', '/path/outputFile' }
com.example.MyApp.main(args)
// do something with output file
如果您可以访问 myapp.jar
的源代码,您最好查看 main
的功能,然后直接使用 API。