当前位置: 首页 > 知识库问答 >
问题:

无法将资源添加到Intellij中maven项目的最终jar中

陈寒
2023-03-14

我无法将我的资源目录(标记为resources root)中的图像添加到我想要生成的最终jar中。我试着用File构建一个jar-

这是我的pom。xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.sample.project</groupId>
<artifactId>login</artifactId>
<version>1.0-SNAPSHOT</version>


<build>
    <resources>
        <resource>
            <directory>
                src/main/resources
            </directory>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.sample.project.Login</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
  </build>
</project>

我的项目结构如下所示:项目结构

我的示例项目的zip文件:存档

共有2个答案

韩麒
2023-03-14

您在目录src/resources中的文件需要移动到src/main/resources,否则Maven将忽略它们。

另外,去掉这个

    <resources>
        <resource>
            <directory>
                src/main/resources
            </directory>
        </resource>
    </resources>

因为这是Maven无论如何都会使用的默认约定。

司徒高寒
2023-03-14
<build>
        <finalName>${project.artifactId}</finalName>
        <defaultGoal>dependency:sources</defaultGoal>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>

        </resources>

pom中的上述代码。xml将复制位于资源中的xml文件。您可以更改为其他文件或删除

                <includes>
                    <include>**/*.xml</include>
                </includes>

将复制资源中的所有文件。

 类似资料:
  • 我正试图给我的maven项目添加依赖项,但我无法让它工作。 这是我的POM文件: 在构建项目时,我遇到以下错误: 未能在项目培训上执行目标解决方案:无法解析项目hva的依赖项。dmci。信息和通信技术。ads:TrainsSolution:jar:1.0-SNAPSHOT:未能收集[org.junit.jupiter:junit-jupiter:jar:5.4.0-M1(测试)]的依赖项:未能读取

  • 问题内容: 我有一些可怕的行为。我有以下Maven配置: 这将创建包含所有类的JAR文件,但我在类路径中有一些资源也应包括在内。如果我将参数放在阶段的前面,那么我的所有资源都会包括在内。如果我使用运行Maven ,则不包含任何资源。我的资源位于(不是通常的目录)下。 问题答案: 目标配置中未正确定义资源的源目录。同样,outputDirectory元素将资源放置在dir中,默认情况下将其打包。试试

  • 我有一些可怕的比目鱼。我有以下Maven配置: 这创建了包含所有类的JAR fie,但我在类路径中有一些资源也应该包括在内。如果我将参数留在phase前面,那么我的所有资源都包括在内了。如果我使用运行maven,则不包含任何资源。我的资源在(不是通常的目录)下。

  • Gradle新手。如果这是一个糟糕的问题,我道歉。 我一直在尝试启动一个普通的Java8 Gradle项目。一切都很好,直到我尝试将龙目加入我的项目。 我的Intellij IDE具有龙目所需的所有设置。 Lombok插件已安装并激活 IDE完美地处理了注释。没有显示错误,样板显示在代码结构中。 然而,当我试图使用Intellij构建项目或运行main方法时,编译器抱怨说Lombok应该生成的样板

  • 如何直接在项目的库源中添加本地jar文件(还不是Maven存储库的一部分)?

  • 问题内容: 在IntelliJ IDEA中创建新的Java项目时,将创建以下目录和文件: 我想配置IntelliJ IDEA,以将我的依赖项JAR包含到项目中。在IntelliJ IDEA中实现此目标的正确方法是什么? 问题答案: 在IntelliJ IDEA中添加外部jar的步骤: Click File from the toolbar Project Structure (CTRL + SHI