Weblogic服务器上的部署问题

时间:2013-03-01 04:25:52

标签: spring-mvc deployment weblogic slf4j weblogic12c

我有两个应用程序,都是在Spring MVC中开发的。一个,即VDM正在部署并在本地和实时weblogic 12c服务器中正常启动。但是另一个,即VPORTAL正在部署但不能在实时服务器中启动。启动服务时,它会出现以下错误:

java.lang.NoSuchMethodError: org/slf4j/spi/LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V

有趣的是,它在本地服务器上运行良好。

我在两个应用程序中都使一些罐子一致,但它没有帮助。 有一点可以注意到VDM的classes目录中有一个文件,即 log4j.xml ,但VPORTAL中没有任何文件。我在进行更改后将其放入VPORTAL但它也没有帮助。 请帮忙!

3 个答案:

答案 0 :(得分:3)

这绝对是jar版本不匹配的问题。您没有提到您在WEB-INF \ lib文件夹下放置的slf4j-api jar的版本。我怀疑它与WLS 12c中的版本不同。 WLS 12.1.1在其模块目录中附带 org.slf4j.api_1.6.1.0.jar 。因此,您需要做的是在 weblogic.xml 中添加以下部分,指示weblogic从您的WEB中的 slf4j-api _x.xxjar 加载类 - INF / lib,而不是来自WLS安装的 org.slf4j.api_1.6.1.0.jar 。默认情况下,使用 org.slf4j.api_1.6.1.0.jar ,因为它位于服务器类路径中。

<container-descriptor>
    <prefer-web-inf-classes>false</prefer-web-inf-classes>
    <prefer-application-packages>
        <package-name>org.slf4j.*</package-name>
        <package-name>org.apache.commons.logging.*</package-name>
    </prefer-application-packages>
</container-descriptor>

答案 1 :(得分:0)

我们的应用程序也遇到了类似的问题。 应用 - Spring MVC&amp;我们正在迁移到Weblogic12c。我们尝试了不同的方式,比如修改pom.xml和amp;所有。但最后weblogic.xml中的这一变化帮助了我们。

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">
<wls:context-root>/</wls:context-root>
<wls:session-descriptor>
    <wls:cookie-secure>false</wls:cookie-secure>
    <wls:url-rewriting-enabled>true</wls:url-rewriting-enabled>
</wls:session-descriptor>
<wls:container-descriptor>
        <wls:prefer-application-packages>
            <wls:package-name>org.slf4j</wls:package-name>
            <wls:package-name>org.apache.xerces</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>
</wls:weblogic-web-app>

Pom.xml文件: -

  <dependencies>
    <dependency>
        <groupId>org.apache.ws.commons.schema</groupId>
        <artifactId>XmlSchema</artifactId>
        <version>1.4.2</version>
    </dependency>
    <dependency>
        <groupId>antlr</groupId>
        <artifactId>antlr</artifactId>
        <version>2.7.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.directory.studio</groupId>
        <artifactId>org.apache.commons.collections</artifactId>
        <version>3.2.1</version>
    </dependency>
    <dependency>
        <groupId>aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>1.5.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-api</artifactId>
        <version>1.2.7</version>
    </dependency>
    <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-dom</artifactId>
        <version>1.2.7</version>
    </dependency>
    <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-impl</artifactId>
        <version>1.2.7</version>
    </dependency>
    <dependency>
        <groupId>axis</groupId>
        <artifactId>axis</artifactId>
        <version>1.4</version>
    </dependency>
     <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20090211</version>
    </dependency>
    <dependency>
        <groupId>org.apache.axis2</groupId>
        <artifactId>axis2-adb</artifactId>
        <version>1.4.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.axis2</groupId>
        <artifactId>axis2-kernel</artifactId>
        <version>1.4.1</version>
    </dependency>
    <dependency>
        <groupId>axis</groupId>
        <artifactId>axis-jaxrpc</artifactId>
        <version>1.2-RC1</version>
    </dependency>
    <dependency>
        <groupId>backport-util-concurrent</groupId>
        <artifactId>backport-util-concurrent</artifactId>
        <version>3.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cactus</groupId>
        <artifactId>
            cactus.core.framework.uberjar.javaEE.14
        </artifactId>
        <version>1.8.1</version>
        <type>pom</type>
        <scope>provided</scope>
        <exclusions>
            <exclusion>
                <artifactId>org.mortbay.jetty</artifactId>
                <groupId>org.mortbay.jetty</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.cactus</groupId>
        <artifactId>cactus.integration.ant</artifactId>
        <version>1.8.1</version>
        <scope>provided</scope>
        <exclusions>
            <exclusion>
                <artifactId>cactus.integration.shared.api</artifactId>
                <groupId>org.apache.cactus</groupId>
            </exclusion>
            <exclusion>
                <artifactId>org.mortbay.jetty</artifactId>
                <groupId>org.mortbay.jetty</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.7.0</version>
    </dependency>
    <dependency>
        <groupId>onlinesupport-Mysp</groupId>
        <artifactId>coherence</artifactId>
        <version>3.5</version>
    </dependency>
    <dependency>
        <groupId>commons-chain</groupId>
        <artifactId>commons-chain</artifactId>
        <version>1.1</version>
    </dependency>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.3</version>
    </dependency>
    <dependency>
        <groupId>commons-digester</groupId>
        <artifactId>commons-digester</artifactId>
        <version>1.8</version>
    </dependency>
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>3.0.1</version>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.0.4</version>
    </dependency>
    <dependency>
        <groupId>commons-validator</groupId>
        <artifactId>commons-validator</artifactId>
        <version>1.3.1</version>
    </dependency>
    <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-stax-api_1.0_spec</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>com.ibm.icu</groupId>
        <artifactId>icu4j</artifactId>
        <version>4.6</version>
    </dependency>
    <dependency>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
        <version>1.1-beta-6</version>
        <type>zip</type>
    </dependency>
    <dependency>
        <groupId>com.cedarsoft.serialization</groupId>
        <artifactId>jdom</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>jsptags</groupId>
      <artifactId>pager-taglib</artifactId>
      <version>2.0</version>
    </dependency>
    <!-- Remove this for Weblogic -->


    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.2</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.8</version>
    </dependency>
    <dependency>
        <groupId>org.apache.neethi</groupId>
        <artifactId>neethi</artifactId>
        <version>2.0.4</version>
    </dependency>
    <dependency>
        <groupId>oro</groupId>
        <artifactId>oro</artifactId>
        <version>2.0.8</version>
    </dependency>
    <dependency>
        <groupId>xmlbeans</groupId>
        <artifactId>xmlbeans</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>wsdl4j</groupId>
        <artifactId>wsdl4j</artifactId>
        <version>1.6.2</version>
    </dependency>


    <dependency>
        <groupId>servletapi</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.4</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.apple.corp</groupId>
        <artifactId>BlackWord</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.apple.corp</groupId>
        <artifactId>AESCryptoAlgorithm</artifactId>
        <version>0.0.1</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>3.2.2.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>3.2.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.ws</groupId>
        <artifactId>spring-oxm-tiger</artifactId>
        <version>1.5.4</version>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.5</version>
    </dependency>

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.8</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-bundle</artifactId>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>3.2.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>3.2.2.RELEASE</version>
    </dependency>

    <!-- Quartz framework -->
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>1.8.6</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-jaxb-annotations</artifactId>
        <version>2.1.4</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.2.6</version>
    </dependency>
    <dependency>
        <groupId>org.owasp.esapi</groupId>
        <artifactId>esapi</artifactId>
        <version>2.0_rc9</version>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.2</version>
    </dependency>
    <dependency>
            <groupId>groovy</groupId>
            <artifactId>groovy-all-1.0-jsr</artifactId>
            <version>05</version>
    </dependency>
    <dependency>
          <groupId>com.apple.ist.gcrm.infra.log</groupId>
          <artifactId>cslogger</artifactId>
          <version>1.0-SNAPSHOT</version>
          <exclusions>
            <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>apache-log4j</groupId>
            </exclusion>
            <exclusion>
                <groupId>javax</groupId>
                <artifactId>javaee-api</artifactId>
            </exclusion>
          </exclusions>
    </dependency>
      <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.moxy</artifactId>
        <version>2.4.0</version>
       </dependency>

      <dependency>
        <groupId>com.apple.ist.ets</groupId>
        <artifactId>geneva-api</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>org.owasp</groupId>
        <artifactId>antisamy</artifactId>
        <version>1.4</version>
      </dependency>
      <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.0.0.GA</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>4.0.2.GA</version>
      </dependency>
   </dependencies>

  <packaging>war</packaging>
</project>

答案 2 :(得分:-1)

您必须将Lan提到的配置拆分为两个文件:

第一个是META-INF / weblogic-application.xml:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">

  <prefer-application-packages>
      <package-name>org.slf4j.*</package-name>
      <package-name>org.apache.commons.logging.*</package-name>
  </prefer-application-packages>

</weblogic-application>

第二个是WEB-INF / weblogic.xml:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
                                      http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.1/weblogic-web-app.xsd">

  <container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
  </container-descriptor>

</weblogic-web-app>

通过这种方式,您可以强制WebLogic(在我的情况下为12c)首先加载SLF4J的webapp捆绑版本(必须放在WEB-INF / lib中)。但似乎仍然有两个Bindings可用。 德语来源:http://www.torsten-horn.de/techdocs/jee-oracleweblogic.htm#Kompatibilitätsprobleme

相关问题