Java 如何将多组本机类文件打包到一个jar中?

Java 如何将多组本机类文件打包到一个jar中?,java,Java,我有一些为多个平台(Windows、Linux、Mac)构建的外部C代码,并希望将它们打包在一个.jar中,这样无论平台如何,这个.jar都可以用作库 这将允许我使用同一个外部库在计算机之间传递Java项目 现有的类文件正在使用JNI调用代码,这些类在不同的平台上是不同的。在当前状态下,我们交换具有不同类的JAR,这些类为特定平台调用本机函数 有没有一种方法可以对它们进行打包,这样我就可以动态加载正确的类文件,而不必使用Ant/Maven或创建抽象层?您不能将本机文件打包到jar中。但是,类文件

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

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

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


有没有一种方法可以对它们进行打包,这样我就可以动态加载正确的类文件,而不必使用Ant/Maven或创建抽象层?

您不能将本机文件打包到jar中。但是,类文件可以类似于常规类文件

如果你想的话,你可以把所有东西都打包成一个zip文件?作为替代方案


要加载正确的文件,Class.forName()就足够了。尽管如此,请确保文件位于类路径中,或者

不能将本机文件打包到jar中。但是,类文件可以类似于常规类文件

如果你想的话,你可以把所有东西都打包成一个zip文件?作为替代方案


要加载正确的文件,Class.forName()就足够了。尽管如此,请确保文件位于类路径中,或者

您可以将本机文件打包到一个jar中(这就是当前所做的,每个平台一个jar)。但是,我不想创建抽象层(如果使用Class.forName(),这是必需的)。@Lincoded您不想创建抽象层吗?这意味着您希望在没有存根Java类的情况下从库中调用函数?我们现有的类在本机实现中调用这些函数,并且目前将JAR中的类文件交换给不同的平台。我们希望将所有文件打包到一个jar中,您可以将本机文件打包到一个jar中(这就是目前所做的,每个平台一个jar)。但是,我不想创建抽象层(如果使用Class.forName(),这是必需的)。@Lincoded您不想创建抽象层吗?这意味着您希望在没有存根Java类的情况下从库中调用函数?我们现有的类在本机实现中调用这些函数,并且目前将JAR中的类文件交换给不同的平台。我们希望将所有文件打包到一个jar中。