You can have separate projects, or a single multi-module project. I’d say one 
is not necessarily better or worse than the other. Like so often “it depends”, 
both on your preferences and the nature of the project, and the organization of 
the people/teams around this code (if applicable).

What will the lifecycle of these projects look like? If you expect the server 
and client projects to typically evolve in tandem, I would personally probably 
use a single multi-module project, so server and client can be built from a 
single Maven project.

If server and client are likely to evolve separately, or will be managed by 
separate teams, with separate release schedules, etc., then separate projects 
(and source code repositories, access rights, etc.) may be preferable.

Will the client and server projects share anything (API definition, models, 
etc.)? If so, you’ll want to create a third module for that and use it as a 
dependency for both the server and client projects.

Nils.

Keith Brown <keith6...@gmail.com> wrote:

> I am writing a client/server utility. They are CLI tools. I keep them
> in separate maven projects.
> 
> mkdir -p proj && cd proj
> 
> mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=client
> -DarchetypeArtifactId=maven-archetype-quickstart
> -DarchetypeVersion=1.4 -DinteractiveMode=false
> 
> mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=server
> -DarchetypeArtifactId=maven-archetype-quickstart
> -DarchetypeVersion=1.4 -DinteractiveMode=false
> 
> 
> Is this a good practice? Or can I have both server and client in a
> single maven project?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to