Search code examples
mavenmaven-jar-plugin

multi artifact id in one pom


There is a maven project(jar), but now it needs to be spilt into two artifacts

I want to have two maven artifact like following

<groupId>xxx</groupId>
<artifactId>xxx-client</groupId>

<groupId>xxx</groupId>
<artifactId>xxx-impl</groupId>

But all the code is in one single project.

My question would be, How can I package the tow required artifacts without changing the project too much.

Then ,

mvn package deploy

will auto deploy these two artifacts into repository Actually I don't want to split these project into two maven project.


Solution

  • I am not sure if there is a possibility of having two <artifactId> tags in one POM, since it is unique. What you may do is, you can have two pom files, say, pom.xml, and pom_impl.xml, now

    • to deploy client do, mvn package deploy
    • to deploy impl do, mvn -f pom_impl.xml package deploy

    Never tried though.


    Clarification: The question seem ambiguous, seems like you have one project but you wanted to generated two artifacts (client, and impl) of the same code-base. On reading it again, I feel like you have two projects (two different code base) but you just wanted to unify it so that it behaves as two modules of the same project. My answer assumes the first case.