此问题与问题Maven Include Dependency in Shaded Jar Only非常相似。
我的问题是我想将slf4j-simple包含在阴影jar中,因为它是用于独立执行并需要正确记录。
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
</dependencies>
我尝试使用<scope>provided</scope>
,但未能将maven-shade-plugin包含在其中。
答案 0 :(得分:0)
我发现的解决方案是在依赖声明中使用<optional>true</optional>
。由于范围对我来说已经足够了,所以我没有意识到这个选项。
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
<optional>true</optional>
</dependency>
</dependencies>