【问题标题】:Exclude slf4j from glassfish从 glassfish 中排除 slf4j
【发布时间】:2016-02-02 06:26:45
【问题描述】:

我参考了很多链接。我终于得到了this 而我不喜欢this way

我想从this jar 中排除 slf4j。都是玻璃鱼嵌入的。

我为什么要排除?

这是一个不同的故事。如果我包含这个 slf4j,那么由于多个 slf4j,AKKA 事件日志记录不起作用。如果我排除嵌入式 jar 完全记录工作。但我需要嵌入式 jar 而不是 glassfish slf4j。

有什么办法吗?

玻璃鱼'Pom。看来 slf4j 是一个传递依赖

【问题讨论】:

  • 但你不能。它嵌入到 in jar 中。
  • @Tunali 是的,你可以,看看我更新的答案。

标签: java maven glassfish


【解决方案1】:

你有没有尝试过:

<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 类。如果您仍想使用 uber 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

【讨论】:

  • 我试过这个人。但这没有帮助。我正在使用maven2。我想没有通配符支持
  • 我刚刚更新了我的答案。 maven-shade-plugin 版本 2+ 需要 Maven 3。但您可以尝试使用仅需要 Maven 2.0.6 的版本 1.7.1。
猜你喜欢
  • 2015-04-16
  • 2018-10-19
  • 1970-01-01
  • 2016-07-02
  • 2012-04-04
  • 1970-01-01
  • 2016-07-13
  • 2012-05-15
  • 2012-07-16
相关资源
最近更新 更多