我曾在基于 .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
项目。
更多详情请参阅here .
第 4 步
添加build.xml
后,右键单击updateBuild
目标,选择执行于
,然后<强>选择 编译后
。
瞧。现在,每当您编译时,您的 jar 都会无缝更新。您可以通过在构建消息选项卡中展开目标来检查输出。
关于java - IntelliJ 中 Java 的 Visual Studio 后构建脚本等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56713671/