How can I execute several maven plugins within a single phase and set their respective execution order?

前端 未结 2 1363
谎友^
谎友^ 2021-02-07 06:43

I would like to breakup certain phases in the maven life cycle into sub phases. I would like to control the execution flow from one sub-phase to another, sort of like with ant d

2条回答
  •  悲哀的现实
    2021-02-07 07:03

    I had the same problem. look at How to perform ordered tasks in Maven2 build. for some reason the different goals bound to a phase are stored in a hash map or other unordered structure which makes the execution order random. my solution was to spread the tasks to different phases but I dont think there is much sence for it in your case (nsis packaging is not pre integration test). you could do one of the following:

    1) try your luck and see if Maven chosses the right order for you (you probably tried that already)

    2) use standalone plugin - run the goal outside the lifecycle. something like: mvn package org.codehaus.mojo:nsis-maven-plugin:1.0:compile.

    3) separate them into module: have a parent pom containing two sub modules, one - your war project and the other for the nsis project.

    4) use a custom lifecycle by changing the type, in your case you can use "exe". this is done by using a custom plugin extension (guide to using extension)

    5) use the jetspeed-mvn-maven-plugin. I have never used it but it seems relevant to your needs.

    hope this gives you new ideas.

    Ronen

提交回复
热议问题