2017-03-18 29 views
0

此问题与问题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遮阳帘插件包括它。

回答

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>