我在我的pom中使用maven-war-plugin
来构建我的Vaadin应用程序。我的问题是,如果我在我的pom中添加了一个不必要的依赖(依赖库实际上没有在代码中使用),那么maven-war-plugin
仍会将依赖关系捆绑到它生成的war文件中吗?
答案 0 :(得分:2)
您的问题的答案取决于您在<dependency>
标记中指定的范围。请考虑以下依赖项标记:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>provided</scope>
</dependency>
provided
范围告诉Maven在编译时使用log4j
JAR但是从构建中排除它,因此它不会出现在WAR中。另一方面,如果您使用了compile
或runtime
的范围,则将显示在WAR中。
如果您没有指定任何<scope>
,则默认值为compile
,这意味着依赖将出现在构建输出中。