如何在可运行的jar程序中获取资源jar路径



我制作了一个可运行的jar,其中有另一个jar作为资源。在程序执行期间,根据用户的操作,我需要将资源调用为另一个java程序。Java -jar。所以我要问的是我如何在jar文件中获得资源jar的路径,这样我就可以像这样运行它Runtime.getRuntime().exec(…);或者还有别的办法吗?我已经使用了getClass.getResource(). getpath(),但我只是不断获得jar名称,而不是绝对路径。我忘记了如何获得路径,但我记得路径有'!/module.jar!/module.jar或类似的文件。

jar是压缩后的zip文件,不是是普通目录,你可以直接做java -jar MainApp.jar/m.jar

要解决这个问题,您需要将m.jar文件放在主jar文件之外,然后您可以正常执行它。

只需将第一个jar放在类路径中,并从第二个类中调用第一个类,就像您实例化任何其他类一样。例如,如果最初的调用是java -cp ./m.jar Main

第二个类是CallerClass,然后在CallerClass中做a

最新更新