有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我制作了一个可运行的jar,其中有另一个jar作为资源。在程序执行过程中,根据用户的操作,我需要将资源作为另一个java程序调用,例如java-jar m.jar。所以我要问的是如何在jar文件中获取资源jar的路径,以便像这样运行它。getRuntime()。执行官(…);还是有其他方法可以做到这一点?我用过getClass。getResource()。getPath(),但我只是不断获取jar名称,而不是绝对路径。我忘了怎么走这条路了,但我记得这条路有“!”在jar之后,例如,/module。罐子/模块2。罐子之类的东西。任何帮助都将不胜感激


共 (2) 个答案

  1. # 1 楼答案

    jar是压缩的zip文件,而不是一个普通的目录,你只需要做java -jar MainApp.jar/m.jar

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

  2. # 2 楼答案

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

    第二节课是CallerClass,然后在CallerClass做一个 Main=Main()