maven scope属性值设置含义

maven scope属性值设置含义

1、枚举各个属性值的含义

compile,缺省值,适用于所有阶段,会打包进项目。
provided,类似compile,期望JDK、容器或使用者会提供这个依赖。
runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
————————————————
版权声明:本文为CSDN博主「brave_zhao」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zy103118/article/details/84442623

在使用benchmark时,报错:

运行的时候报了一个如下的错误:


Exception in thread "main" java.lang.RuntimeException: ERROR: Unable to find the resource: /META-INF/BenchmarkList
at org.openjdk.jmh.runner.AbstractResourceReader.getReaders(AbstractResourceReader.java:98)
at org.openjdk.jmh.runner.BenchmarkList.find(BenchmarkList.java:122)
at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:263)
at org.openjdk.jmh.runner.Runner.run(Runner.java:209)
at com.test.java8.LongAdderTest.main(LongAdderTest.java:27)



在pom.xml 里引入

<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.21</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.21</version>
<scope>provided</scope>
</dependency>
这里一定我注意,我解决的办法是上面的标红的scope 标签是provided 之前我填写的test一直报错!

provided,compile 都是可以的,但是这个包我们在生产中并不需要,一般写provided

scope为test表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行
————————————————
版权声明:本文为CSDN博主「kevin_mails」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kevin_mails/article/details/88943881

这么说可能不是很好理解:换个简单的,就是你在把这个项目打成war包时,scope=provided的jar包,不会出现在WEB-INFO/lib目录下,而scope=compile的jar包,会放到WEB-INFO/lib目录

原文地址:https://www.cnblogs.com/silyvin/p/11558222.html