我提到了很多链接。我终于得到this而我不喜欢this way
我想从this jar中排除slf4j。这是所有的玻璃鱼。
为什么我要排除?
这是一个不同的故事。如果我包含这个slf4j,那么由于多个slf4j,AKKA事件记录无法正常工作。如果我排除嵌入式jar完全记录工作。但是我需要嵌入式jar而不是glassfish slf4j。
任何解决方案?
Glassfish'Pom。似乎slf4j是一个传递依赖
答案 0 :(得分:0)
您尝试过类似的事情吗?
<dependency>
<groupId>org.glassfish.main.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>4.0-b72</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
更新
嵌入了slf4j类。如果您仍想使用超级jar,可以选择遮蔽 glassfish-embedded-all ,即创建maven项目或模块:
<dependencies>
<dependency>
<groupId>org.glassfish.main.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>4.0-b72</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>**/org/slf4j/**/*</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后使用生成的jar代替 glassfish-embedded-all 。