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.