0

我有一个 Java 库,它需要调用一些 fortran 子例程(非常复杂,不应该在 java 中重新实现)。fortran 编译器将生成一些特定于平台的.so文件。然后我想将这些连接到 JNA 以便能够从 Java 调用它们。

我在这里找到了从 JNA 调用 fortran 的资源,这似乎还不错:http ://www.javaforge.com/wiki/66061

但是,我的问题是我是否可以让 Maven 编译子例程并将生成的库文件放在 target/ 或类似的地方,并能够从 JNA 自动获取它们。如果我使用 Makefile,我觉得我可以毫不费力地做到这一点,但不知道如何让 Maven 做到这一点。

此外,我正在使用 m2e,即 eclipse 的 maven 插件,因此似乎任何可能自行工作的 maven 插件的兼容性都不太可能与 m2e 兼容。

4

1 回答 1

0

我将专注于特定于 Maven 的方法。我真的不知道 m2e,但如果你让基本的 maven 工作,那么任何 ide 都应该服从它。希望这会有所帮助。

有一个exec 插件可以让你执行外部程序。因此,如果您认为可以使用 makefile 快速完成它,那么这可能是最简单的方法。你最终会更多地依赖环境而不是插件,这不是 maven 方式。但它可能会完成工作。

谷歌教授回复了这篇文章,看起来有点像你想做的。很多主题都是围绕编译用于 Java 的 C 库。所以它应该有点接近(即使你正在调用不同的编译器等)。已经有足够多的人构建本地库,因此有一个插件,尽管它再次关注用 C 而不是 Fortran 编写的库。

祝你好运!

于 2013-01-08T01:37:02.420 回答