我有一些外部C代码,它是为多个平台(Windows,Linux,Mac)构建的,并且希望将它们全部打包在一个.jar中,这样无论平台如何,这个.jar都可以用作库
这将允许我使用相同的单个外部库将Java项目从计算机传递到计算机。
现有的类文件使用JNI调用代码,这些类是在不同平台上不同的类。在当前状态下,我们将具有不同类的jar交换为特定平台的本机函数。
有没有办法以这样的方式打包它们,即我可以动态加载正确的类文件而无需使用Ant / Maven或创建抽象层?
答案 0 :(得分:0)
您无法在jar中打包本机文件。但是,类文件可以像常规类文件一样。
如果需要,您可以将所有内容打包成zip文件吗?作为备选。
要加载正确的文件:Class.forName()应该足够了。虽然请确保文件属于您的类路径,或dynamically modify your class path to search from URLs。