Correct Way To Declare Multiple Scope For Maven Dependency?
Answer : The runtime scope also makes the artifact available on the test classpath. Just use runtime. (See the Maven documentation.) To avoid having the dependency resolved transitively, also make it optional with <optional>true</optional> : <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback</artifactId> <version>0.5</version> <scope>runtime</scope> <optional>true</optional> </dependency> You can only define one scope value per <scope/> tag. I'm afraid what you'd like to do cannot be achieved by merely using a scope. If you define a scope of test , it will only be available during tests; if you define a scope of provided, that would mean that you would expect that dependency for your project to be resolved and used during both compilation and tests, but it will not be included in your WAR file. Either way, it's not what you would want. Therefore, I would r