当前位置: 首页 > 面试题库 >

Maven不复制非Java文件

堵乐
2023-03-14
问题内容

我有一个pom.xml文件,其中包含以下内容:

<sourceDirectory>${basedir}/src/main/test</sourceDirectory>
<outputDirectory>${basedir}/src/main/bin </outputDirectory>

里面${basedir}/src/main/test有一些文件夹,其中不包含任何.java文件。当我开始编译时,它们不会复制到${basedir}/src/main/bin目录中。

仅将.java文件移动(当然是在编译后)并存储在正确的文件夹中。

有人可以在不使用任何插件的情况下帮助我解决此问题吗?

我尝试过

<resources>
        <resource>
            <filtering>false</filtering>
             <directory>${basedir}/src/main/test/scenarios</directory>
             <includes>
                <include>*.xml</include>
             </includes>
             <targetPath>${basedir}/src/main/bin/scenarios</targetPath>
        </resource>

        <resource>
            <filtering>false</filtering>
             <directory>${basedir}/src/main/test/sut</directory>
             <includes>
                <include>*.xml</include>
             </includes>
             <targetPath>${basedir}/src/main/bin/sut</targetPath>
        </resource>

    </resources>

但这行不通。怎么了?


问题答案:

如果它们不是Java文件,则应将它们移至src/main/resourcesand / or
src/test/resources目录。这是存储非Java文件的Maven约定。

您的另一个选择是使用maven-resources-plugin。

  <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.3</version>
        </plugin>
    </plugins>
    <resources>
        <resource>
        <directory>src/main/test</directory>
            <includes>
                <include> <the_files_you_want_to_include></include>
            </includes>
        </resource>
    </resources>

您还有另一个选择是使用maven-antrun-plugin并执行ant任务来手动复制文件。



 类似资料:
  • 我正在尝试使用Java复制文件。我有一个需要复制的文件对象的arraylist,但是当实际复制发生时,目标文件夹会变成一个文件,不会复制任何东西

  • 这里是Java 8。我有一个S3 bucket(),其文件夹子结构如下: 以下是文件夹的外观: 我有一个软件可以将图像文件上传到文件夹,然后我正在编写的另一个应用程序应该处理该图像并将其复制到文件夹。我必须执行这个S3副本的代码如下: 当它运行时,我看到以下日志输出: 但是文件夹的最终状态如下所示: 因此,它不是将复制到目录,而是直接在下创建一个新文件,并将其命名为,并可能将图像的二进制内容复制到

  • 我正在尝试使用maven resources插件复制文件夹或以下结构: 项目目录和. gitignore文件被复制,但是。元数据目录由于某种原因被遗漏了。 如何复制根文件夹的所有内容? 以下是我尝试过的配置:

  • 问题内容: 我正在VMWare下的SSD上用Node复制文件,但是性能很低。我已经用来衡量实际速度的基准测试如下: 但是,以下用于复制文件的节点代码非常慢,因此随后的运行不会使其速度更快: 运行方式为: 这里有什么问题,我该如何加快速度?我相信我可以通过调整缓冲区大小来更快地用C编写它。让我感到困惑的是,当我编写简单的几乎等同于pv的程序时,如下所示将stdin传递到stdout,它的速度非常快。

  • 现在我正在编写一个maven依赖项a,并在项目B中使用这个依赖项。两者的文件结构都是: 依赖A: 项目B: 我想做的是当我运行mvn spring boot时:在项目B中运行,测试。A的src/main/resources/files中的txt将被复制到项目B的/WebContent中。 我尝试在依赖项A中编写以下代码: 但是当我执行mvn spring boot:run时,它说文件不存在。

  • 我有一个这样的项目: 和pom.xml,如下所示: 运行mvn包后,它在root/target文件夹中创建META-INF和WEB-INF文件夹,并将.war文件放入其中。 打包完成后,我希望maven也将一个WEB-INF文件夹从target复制到根(TestArt)。有没有办法实现?