【问题标题】:Maven: Move Executable (.exe) into target Folder when CompilingMaven:编译时将可执行文件(.exe)移动到目标文件夹中
【发布时间】:2018-10-31 18:25:00
【问题描述】:

所以我在编译我的项目时尝试了不同的方法来将我想要的、必要的 .exe 文件复制到目标文件夹中。 我还查看了Move a text file into target folder when compiling a Maven project 的问答 - 但没有帮助。

所以我想要在编译项目时将“chromedriver.exe”复制到目标文件夹(使用mvn clean install)。我需要这个 .exe 来启动我的 jar 文件。

感谢任何帮助!

【问题讨论】:

  • 您希望您的 exe(最终)去哪里?在罐子里吗?
  • 好问题 - 不,在目标文件夹内 - 有什么建议吗?
  • 我的意思是您可能会构建项目,以便将结果复制/部署到某处。目标文件夹只是一个临时文件夹(每次全新安装都会删除)。
  • 我同意,但想象一下:不知何故,有人想克隆我的 git 存储库,创建一个 mvn clean install 并且该人想要执行 jar 文件 - 该文件位于目标文件夹中。当他启动 jar (java- jar ...) 时,他得到一个异常,因为目标文件夹中缺少“chromedriver.exe”,这就是为什么我希望 .exe 文件始终在目标文件夹中,因为没有它,jar不会成功

标签: java maven pom.xml target


【解决方案1】:

如果您使用默认配置,则放置在 src/main/resources 中的任何文件都将自动包含在生成的 build(target) 文件夹中。但是,您应该只包含应该在生成的 jar 中的文件。

【讨论】:

  • 感谢您的回答 - 不幸的是我也试过了,但编译后在目标文件夹中找不到 .exe 文件 - 我必须自己复制 .exe 文件(手动)
【解决方案2】:

我找到了自己的解决方案: 在 pom.xml 中,包含

<resources>
    <resource>
        <directory>${project.basedir}</directory>
        <targetPath>${project.build.directory}</targetPath>
        <includes>
            <include>chromedriver.exe</include>
        </includes>
    </resource> 
</resources>

build 标签下。

【讨论】:

    猜你喜欢
    • 2013-04-28
    • 2017-07-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多