Exception: Reason: java.lang.NoClassDefFoundError: org/osgi/framework/BundleActivator

Exception: Reason: java.lang.NoClassDefFoundError: org/osgi/framework/BundleActivator

Log4j:2.6.1,Weblogic:10.3.6 JDK:1.7.x

我在 weblogic 域 lib 文件夹中使用 log4j jars 2.6.1 时出现以下错误:

<Jun 25, 2016 7:36:49 AM EDT> <Critical> <WebLogicServer> <BEA-000386> <Server subsystem failed. Reason: java.lang.NoClassDefFoundError: org/osgi/framework/BundleActivator
    java.lang.NoClassDefFoundError: org/osgi/framework/BundleActivator

将以下插件添加到 pom.xml 解决了我的问题。基本上如果你想把你的 jar 放在依赖于 jar 本身的 weblogic bundle 中。

<plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                  <execution>
                    <phase>package</phase>
                    <goals>
                      <goal>single</goal>
                    </goals>
                  </execution>
                </executions>
                <configuration>
                  <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                  </descriptorRefs>
                </configuration>
          </plugin>