【问题标题】:Java Acces resources from inside JAR in multi JAR applicationJava 在多 JAR 应用程序中从 JAR 内部访问资源
【发布时间】:2025-12-21 11:00:12
【问题描述】:

我的 java 应用程序由两个 JAR 和资源文件夹组成,其中一个 JAR 在 somepackage 中包含一个类,它需要从 JAR 外部应用程序根目录中的资源文件夹加载资源文件包含此类类用getClass().getResource()或者其他方法加载资源文件

File Structure

    Main Application 
    -resources
    -jar_1 
    -jar_2 
       -com
          -somepackage

【问题讨论】:

  • 听起来您应该重新审视组件的结构。如果“内部”的东西需要来自“外部”的东西……那听起来像外部的东西应该住在里面? (从技术上讲,我可能可以解决你的问题;但我不得不承认我无法告诉你究竟是如何解决的 ;-)
  • 那么资源文件在资源文件夹中的另一个 JAR 中,是你在说什么,还是只是该文件夹中的某个文件?
  • 资源文件夹不在应用程序的根目录中,也不在任何 JAR 中。
  • Jägermeister ,如果它在里面,我永远不会问如何访问它这么简单还是????但它不能,因为程序将以复杂的方式构建,除了 JAVA 文件之外的任何东西都将被排除在外。

标签: java


【解决方案1】:

试试这个解决方案:

getClass().getClassLoader().getResourceAsStream("resources/"+docLocation);

【讨论】:

  • 若昂,我试试看。
  • 我使用了 MyClass.getResourceAsStream("resources/someResource.txt");它解决了问题。