hello.

https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope

   - *provided*
   This is much like compile, but indicates you expect the JDK or a
   container to provide the dependency at runtime. For example, when building
   a web application for the Java Enterprise Edition, you would set the
   dependency on the Servlet API and related Java EE APIs to scope
provided because
   the web container provides those classes. A dependency with this scope is
   added to the classpath used for compilation and test, but not the runtime
   classpath. It is not transitive.

what does the runtime classpath mean here? does it mean the classpath when
running the application using the maven-exec-plugin? does it make any
difference to the maven-assembly-plugin whether scope is provided or not?

context: I am trying to build an application with different levels of
subscription. there will be a common core but i will provide premium
features as addons. so I want to treat them as dependencies with
provided scope in the core and package the application differently
depending on the customer's subscription level. as the packing into a jar
is done with the assembly plugin, I would like to know whether it makes any
difference to the assembly plugin whether the scope is provided or not.

if not, what is the best way to achieve my goal?

thanks.

S.

Reply via email to