У меня есть структура, в которой у меня есть несколько классов, и один из моих классов - это класс mojo, который получает некоторые данные из другого класса, а затем передает эти данные в другой класс для выполнения. В первый раз, когда я использую команду mvn clean install , я получаю сообщение об ошибке - Не удалось найти артефакт com.io:MyDataProject:0.0.1-SNAPSHOT. Затем я должен закомментировать второй раздел плагина внутри тега сборки, как показано ниже, и снова использовать команду mvn clean install , которая затем установит мой плагин, и после установки я снова раскомментирую закомментированный код, чтобы я мог используйте мой установленный плагин, который выполняет mojo, и тогда все работает нормально.
Проблема в том, что если я поделился своим проектом с другими членами команды, они должны были бы выполнять те же шаги, которые я не хочу. Мне нужно что-то вроде использования mvn clean install, чтобы установить мой плагин и одновременно выполнить мое mojo.
@Mojo(name = "dependency-counter", defaultPhase = LifecyclePhase.COMPILE)
public class DependencyCounterMojo extends AbstractMojo {
public void execute() throws MojoExecutionException, MojoFailureException {
System.out.println("$$$$$$$$$$$$$$ ....Mojo execution begins.... $$$$$$$$$$$$$$");
GenerateFeature ob=new GenerateFeature();
ob.getData();
}
}
Pom. xml:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.4</version>
</plugin>
<plugin>
<groupId>com.io</groupId>
<artifactId>MyDataProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>dependency-counter</goal>
</goals>
</execution>
</executions>
<configuration>
<scope>test</scope>
</configuration>
</plugin>
</plugins>
</build>