How do I run a specific goal with a particular configuration in a Maven plugin when I have several configurations for that goal

后端 未结 4 787
栀梦
栀梦 2020-12-28 14:15

See plugin config from pom.xml below.

I can do:

mvn myplugin:myGoal

Which runs myGoal (both executions I suppose) but I want to be able

相关标签:
4条回答
  • 2020-12-28 14:57

    The assumption you made that if you call

      mvn myplugin:myGoal
    

    But the problem is that you will get an error message cause the execution have no unique id's (both in this case have the same).

    You can reach what you like to do via profiles which you can activate via mvn -PXYZ and mvn -PABC

    0 讨论(0)
  • 2020-12-28 15:06

    Hey you can create your goal like this:-

    org.myplugin:myplugin-maven-plugin:1.1.1:myGoal  i.e
    <groupId>:<artifactId>:<version>:<yourgoal>
    

    It works in my case ...

    0 讨论(0)
  • 2020-12-28 15:10

    I can do mvn myplugin:myGoalWhich runs myGoal (both executions I suppose)

    None of them (assuming they had unique id). Executions are bound to a phase, you need to run the given phase to trigger them.

    I know I can add an id to the execution element, but how do I refer to that id on the command line.

    Not supported. What is possible for plugins invoked on the CLI is to define a non global configuration in the POM using the special default-cli executionId, like this:

    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <executions>
        <execution>
          <id>default-cli</id>
          <configuration>
            <descriptorRefs>
              <descriptorRef>jar-with-dependencies</descriptorRef>
              <descriptorRef>project</descriptorRef>
            </descriptorRefs>
          </configuration>
        </execution>
      </executions>
    </plugin>
    

    Is this possible, or am I going about this the wrong way?

    No, not possible. Either pass the parameters on the command line or use profiles (with or without the above default execution).

    References

    • Default Plugin Execution IDs
    • http://jira.codehaus.org/browse/MNG-3203
    • http://jira.codehaus.org/browse/MNG-3401
    0 讨论(0)
  • 2020-12-28 15:14

    Execution of multiple goals from the CLI is now supported in Maven 3.3.1+

    mvn exec:java@first-cli
    mvn exec:java@second-cli
    

    Where first-cli/second-cli are the execution ids.

    https://blog.soebes.de/blog/2015/03/17/apache-maven-3-dot-3-1-features/

    0 讨论(0)
提交回复
热议问题