java - IntelliJ 中 Java 的 Visual Studio 后构建脚本等效项

标签 java intellij-idea visual-studio-2012 post-build-event

我曾在基于 .NET 的产品中担任 C# 开发人员一段时间,我们使用 Visual Studio 和提供的后期构建脚本来在构建后执行我们想做的任何操作。

现在我已经转向 Java 世界,我正在使用 IntelliJ IDEA Community Edition 2019.1.2。当我构建项目时,它将java文件编译成类文件。

现在,我手动运行 jar -uvf 来更新构建中的 jar 文件。 (源和构建没有直接链接。)

是否可以配置我在 IntelliJ 中运行的脚本,以便它在构建后自动运行?

以下是被证明无济于事的链接。大多数人建议使用ant,但他们提供的步骤根本不存在于IntelliJ中,我猜这是由于版本不匹配造成的。

Build-project-pre-and-post-actions

How to run a script after building an artifact

VS post build event command line equivalent in IntelliJ IDEA?

最佳答案

据我研究,没有现成的地方可以复制粘贴脚本,或者链接到 IntelliJ 中的脚本文件,可以在构建项目后直接运行脚本。因此,以下步骤解决了目的,但不如 Visual Studio for .NET 项目中的解决方案那么理想

第 1 步

将 jar 更新语句放入 .sh 文件(对于 mac/linux)或 .bat 文件(Windows)

updateJar.sh

cd /path/to/classfiles/
jar -uvf /path/to/jar/file/x.jar package/stucture/

步骤 2

创建 Ant 构建文件。以下可执行文件和参数适用于 mac/linux 系统。请引用 Ant docs对于 exec 并为 windows 相应地创建。

build.xml

<project default="updateBuild">
    <target name="updateBuild">
        <exec executable="/bin/bash">
            <arg value="/path/to/updateJar.sh" />
        </exec>
    </target>
</project>

第3步

build.xml 添加到 IntelliJ 项目。

Path to add build.xml

更多详情请参阅here .

第 4 步

添加build.xml后,右键单击updateBuild目标,选择执行于,然后<强>选择 编译后

Selecting post build timeline

瞧。现在,每当您编译时,您的 jar 都会无缝更新。您可以通过在构建消息选项卡中展开目标来检查输出。

Output

关于java - IntelliJ 中 Java 的 Visual Studio 后构建脚本等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56713671/

相关文章:

java - Glassfish 在移动安装目录后挂起

android-studio - Android Studio 包没有正确嵌套

tomcat - IntelliJ IDEA : Run Batch script before and after Run/Debug Configuration

java - 为什么 IntelliJ 在使用本地数据源时找不到数据库用户凭据?

visual-studio-2012 - MSTest:如何在测试资源管理器中更改测试方法的名称?

c# - Microsoft.ReportViewer.*.dll 未出现在引用中(v11 或 12)

java - 错误 java.util.InputMismatchException

Java泛型列表返回类型

java - 在什么条件下调用 ELResolver 的 setValue 方法?

c# - vs2012中删除自动编码项的快捷方式?