每当运行maven命令时,我想添加自己的命令来删除mvn存储库中的特定文件夹。
对于通过命令提示符使用maven,这很容易,因为我们只是更新apache-maven-3.5.3\bin\mvn.cmd。
但是,我注意到,当我们从intelliJ Maven projects Tool Window运行mvn时,命令运行如下:
C:\mbakOrg\Oracle\JDK\jdk1.8.0_60\bin\java -Dmaven.multiModuleProjectDirectory=
C:\mbakOrg\_CODE\MNE_ARCHIT_GIT\_REPOS\sg-template-store -Dmaven.home=C:\mbakOrg\build\apache-maven-3.5.3 -
Dclassworlds.conf=C:\mbakOrg\build\apache-maven-3.5.3\bin\m2.conf "-javaagent:C:\mbakOrg\devel\JetBrains\IntelliJ IDEA
2017.1.3\lib\idea_rt.jar=42633:C:\mbakOrg\devel\JetBrains\IntelliJ IDEA 2017.1.3\bin" -Dfile.encoding=UTF-8 -classpath
C:\mbakOrg\build\apache-maven-3.5.3\boot\plexus-classworlds-2.5.2.jar org.codehaus.classworlds.Launcher -Didea.version=2017.1.3 clean install那么,我将如何添加一个每次运行的命令?因为InteliJ中的maven使用了一种自定义的方式来运行maven。
解释
我的问题基本上是mvn -U命令始终没有正确地提取最新的代码。此外,我们都在使用父项目的快照,该项目经常被更新以修复问题。
发布于 2018-07-02 13:21:01
我强烈反对修改mvn.cmd。即使您知道如何在命令行和InteliJ中这样做,也可以考虑迁移到某种持续集成框架,例如Jenkins,它将使用默认的mvn.cmd?
如果无法用现有的Maven工具实现您想要的结果,我建议编写自己的Maven插件(参见本教程),并将所需的功能放在那里。它将保证这段特定的代码将在所有环境中执行,这是确保每次都启动命令的方法。
https://stackoverflow.com/questions/51137054
复制相似问题