我需要定制的工件安装,不知道如何覆盖默认的(从默认的maven生命周期)。所以我的问题是:
如何在我的pom.xml中配置maven install插件,使其不进行默认安装并执行我的自定义安装文件目标?
我尝试了没有id和默认安装id,但没有帮助。
更新:从提供的答案 - 这对我不起作用(我在日志中看到两次安装尝试)。
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<id>default-install</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<id>install-jar-lib</id>
<goals>
<goal>install-file</goal>
</goals>
<phase>install</phase>
<configuration>
<file>${project.build.directory}/${project.build.finalName}.jar</file>
<generatePom>false</generatePom>
<pomFile>pom.xml</pomFile>
<packaging>jar</packaging>
<version>${unicorn.version}</version>
</configuration>
</execution>
</executions>
</plugin>
如果您至少有 2.4 版的安装插件,则可以跳过默认安装。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.4</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
然后,您可以通过添加以下内容将另一个插件(ant run插件或任何其他插件)绑定到这个阶段
<phase>install</phase>
到插件的执行部分,您可以运行新的安装过程
mvn install
要禁用maven安装插件,请执行以下操作:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<id>default-install</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
以及为了执行您的自定义安装目标:
<build>
<plugins>
<plugin>
<groupId>yourGroupId</groupId>
<artifactId>yourArtifactId</artifactId>
<executions>
<execution>
<id>custom-install</id>
<phase>install</phase>
<goals>
<goal>yourGoal</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
和子级POM: 在子pom上运行'mvn clean install'将运行编译器插件的两个执行,并且只运行antrun插件的第一个执行,尽管每个插件的第一个执行都绑定到一个阶段。 现在将pluginManagement移动到子POM:
我有一个RESTAPI,我不想强迫客户端发送请求参数。我有将近400个api方法,我不想将所有参数设置为“required=false” 我想覆盖Spring RequestParam的默认行为。我想将RequestParam接口的“required”属性的默认值设置为“false”。 有什么方法可以覆盖它吗?如果我不能或这不是最佳实践,有什么方法可以解决上述问题。
我想重写maven checkstyle插件中的configLocation选项。pom.xml的示例部分是: 正如上面可以看到的,checkstyle-config是一个单独的maven项目,它包含用于样式检查的规则,用于规则的配置文件是blahblah/checkStyle/checkStyle.xml。如果我必须重写blahlah/checkstyle/checkstyle.xml并使用存储
问题内容: 我已经能够覆盖所有名称以“ android:”为前缀的主题,但是Android themes.xml还定义了似乎无法被覆盖的属性。例如: colorTheground是在Theme.Light xml中定义的,但是在此处添加它可以使我 错误。如何为整个应用程序覆盖该样式? 问题答案: 您可以用修改属性(如)的方式覆盖标准属性,只是不要忘记添加如下前缀:
问题内容: 我想覆盖Java外观。我只想显示不同的按钮。 我想要Windows Look and Feel的所有功能,但仅按钮有所不同。希望你明白我的意思。 还告诉我如何制作圆形的JtabbedPane ??? 问题答案: 自定义GUI类 调用您的自定义GUI类
问题内容: 我有一个模板与此: Django自动将此翻译为Terminarsesión西班牙语。但是,我想将其翻译为Cerrarsesión。 我试图将此文字添加到.po文件中,但是在编译消息时出现错误,指出该文字重复。 有没有一种方法可以更改/覆盖默认的Django翻译? 谢谢。 问题答案: 最简单的方法是收集在django.contrib.admin语言环境文件夹中找到的.po文件,然后重新编