我有一个项目,为此我创建了一个 pom.xml。但是,我没有使用 Maven 作为我的构建系统,我使用的是其他东西(例如 ANT)。但我希望 pom.xml 存在以供其他工具使用,例如 IDE。我如何确保,如果有人下载我的项目并尝试使用 Maven 构建它,他们会清楚地表明他们做错了事?
问问题
67 次
1 回答
0
将以下内容添加到 pom.xml:
<properties>
<maven.build.not.supported>
Do not use Maven to build this module. Please see README.html for
instructions on how to build it.
</maven.build.not.supported>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>fail-clean-lifecycle</id>
<phase>pre-clean</phase>
<configuration>
<tasks>
<fail message="${maven.build.not.supported}" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>fail-default-lifecycle</id>
<phase>validate</phase>
<configuration>
<tasks>
<fail message="${maven.build.not.supported}" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>fail-site-lifecycle</id>
<phase>pre-site</phase>
<configuration>
<tasks>
<fail message="${maven.build.not.supported}" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
由于我们显然无法将插件执行绑定到多个阶段,因此我们需要重复执行块 3 次,每个内置生命周期(干净、默认和站点)一次。为避免重复失败消息,我们将其存储在 Maven 属性中,并在每次执行中重用该属性。在每次执行中,我们绑定到生命周期的第一阶段以立即使其失败。
于 2013-05-02T02:02:32.273 回答