If you upload your artifact to Maven Central, and that artifact relies on other artifacts that are not in Maven Central, how will other people access those artifacts?
Most development teams solve this on one of two ways:
a) The development team establishes their own repository (using Nexus or Arifactory) and places their artifacts into that repository but does not make that repository available on the internet. This works well for teams that want to share artifacts with team other but not with the world (and i crucial in proprietary environments). This is what we do at work.
b) Same as "a", but the repository is made available on the internet. This way anyone can make use of those artifacts but the control of the repository remains in the hands of the development team. An example is the JBoss Maven repository.
Thanks. This is clear. But I would like to add more details, because I don't want to use special servers for this task. We develop an e-commercial product. It supports to add extensions. I need to build the atricaft, It helps to develop new extensions, but it should be used the core lib of this product. For this reason I have pushed this library in GitHub repo and made some settings that it can be the dependency of any maven artifact. The next task, which I want to solve, is to share this artifact. I mean the external repo has public access.
I believe you can do this, provided the GitHub repo follows the Maven repository protocol (I never worked with it so I don't know). You need to document to your customers that are creating extensions that they need to add a <repository> entry in their POMs to access your artifact.