使用 System.load(dll) 执行 JAVA 应用程序

Posted

技术标签:

【中文标题】使用 System.load(dll) 执行 JAVA 应用程序【英文标题】:execution of JAVA application with System.load(dll) 【发布时间】:2012-04-17 11:52:21 【问题描述】:

是否可以通过在 java 应用程序内执行命令来在 linux(安装了 java 等)服务器上运行 java 应用程序?

System.load("path to .dll");

还有.. www.mono-project.com 可以帮我完成这个应用程序的任务吗?

【问题讨论】:

不这么认为。这个路径在linux下不可用 你希望这个命令如何执行? Linux 上甚至没有“C”驱动器。更不用说加载 DLL。 (它可能适用于 Wine 或类似的东西)。 抱歉,我使用的是复制/粘贴代码 【参考方案1】:

DLL 是特定于 Windows 的本机库。您通常不能在 Linux 等非 Windows 操作系统上使用 Windows DLL。您需要拥有 DLL 的 Linux 版本;这通常具有扩展名.so

Mono 项目是在 Linux(和其他非 Microsoft 操作系统)上运行的 Microsoft .NET 框架的开源实现。它不能帮助您在非 Windows 操作系统上运行任意 DLL。

【讨论】:

这是我正在寻找的答案“不能帮助您在非 Windows 操作系统上运行任意 DLL。”谢谢!【参考方案2】:

我不确定这是否适用于 Mono,但您可能想看看:

Launching an application (.EXE) from C#?

这是一个 Mono 示例:

mono Process.Start how to find bash?

我想知道您是否进行过搜索? :)

【讨论】:

非常感谢!这对我有帮助!

以上是关于使用 System.load(dll) 执行 JAVA 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何解决java调dll报Unable to load library的错误

如何解决java调dll报Unable to load library的错误

System.load()与System.loadLibrary()

java使用jna加载dll文件可以运行成功,打包后运行jar文件却找不到dll文件

System.load(String filename)和System.loadLibrary(String libname)的区别

system.loadlibrary 路径 能带参数吗