无法在Maven的jar中添加资源

时间:2018-08-29 08:27:35

标签: java swing maven jar pom.xml

这是我的问题:我有一个正在使用java.swing库的Maven项目,它是一个gui应用程序,我想在jar文件中包含资源(图像和一个config.properties文件)。

这是我的pom.xml代码:

  <build>
    <resources>

      <resource>

        <directory>${basedir}/resource</directory>

            <includes>
                <include>**/*.png</include>
            </includes>

        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>

      </resource>

      <resource>
        <directory>${basedir}/config</directory>

        <includes>
            <include>config.properties</include>
        </includes>

        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>

      <resource>
        <directory>.settings</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>


    </resources>



    <plugins>
      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.4</version>
        <configuration>
         <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <mainClass>bis.debug.mode.ui.MainBISDebugMode</mainClass>
            </manifest>
         </archive>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>


  </build>
</project>

这是我的项目结构:

Project structure

我包含了pom.xml中显示的目录及其中的文件,但仍未包含在jar文件中,并且在gui应用程序中也看不到图像。当我将程序作为Java应用程序运行时,一切都很好。我的代码有可能出问题了吗?我该如何解决该问题?你能告诉我吗?

1 个答案:

答案 0 :(得分:3)

您只需要将配置文件放在src/main/resources中,而无需在pom.xml中添加资源,因为src/main/resources是maven的默认资源文件夹