2

我有一些为多个平台(Windows、Linux、Mac)构建的外部 C 代码,并希望将它们全部打包在一个 .jar 中,以便无论平台如何,这个 .jar 都可以用作库。

这将允许我使用相同的单个外部库在计算机之间传递 Java 项目。

存在使用 JNI 调用代码的现有类文件,这些类在不同平台上有所不同。在当前状态下,我们用不同的类交换 jar,这些类调用该特定平台的本机函数。

有没有办法以这样的方式打包它们,以便我可以动态加载正确的类文件而无需使用 Ant/Maven 或创建抽象层?

4

1 回答 1

-1

您不能将本机文件打包在 jar 中。然而,类文件可以像常规类文件一样。

如果需要,您可以将所有内容打包成一个 zip 文件吗?作为备选。

要加载正确的文件: Class.forName() 就足够了。虽然确保文件落入您的类路径,或动态修改您的类路径以从 URL 搜索

于 2012-10-19T18:50:24.390 回答