2013-03-01 166 views
0

我有兩個應用程序,都是在Spring MVC中開發的。其中一個,即VDM正在部署,並且在本地和現場weblogic 12c服務器中都可以正常啓動。但另一個,即VPORTAL正在部署,但不是從現場服務器開始。在啓動服務時,它給出以下錯誤:Weblogic服務器上的部署問題

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

有趣的是,它在本地服務器上工作得很好。

我已經在這兩個應用程序中做了一些一致的jar,但它沒有幫助。 可以注意的一件事是,在VDM的classes目錄中有一個文件,即log4j.xml,但VPORTAL中沒有任何文件。我在進行更改後將其放入VPORTAL中,但它也沒有幫助。 請幫忙!

+0

請包括你的log4j.xml代碼 – nav0611 2013-03-01 05:04:12

+0

的一個得到錯誤部署成功本地的。 – nav0611 2013-03-01 05:05:21

+0

是的,它正在部署並在本地weblogic 12c中成功啓動。它正在部署在活動服務器上,但是當我啓動它的請求服務時,它會出現上述錯誤。 – 6nagi9 2013-03-01 06:10:49

回答

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-INF/lib中加載slf4j-api _x.xxjar中的類,而不是從組織中加載這些類。來自WLS安裝的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> 
+0

您可能不需要添加 org.apache.commons.logging。*。嘗試兩種方式,無論是否。 – Lan 2013-03-01 05:16:52

+0

我沒有在VDM應用程序中添加這些描述符,但工作得很好,而且api在VDM和VPORTAL中都是一致的。 – 6nagi9 2013-03-01 06:08:57

+0

VDM在WEB-INF/lib中具有相同的org.slf4j.api_x.x.x.jar?它被使用了嗎?請在您的VPORTAL中添加該部分以查看它是否有效。兩者之間可能存在配置差異,我們不知道。 – Lan 2013-03-01 06:24:14

-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的bapp捆綁版本(必須放在WEB-INF/lib中)。但是,似乎仍然可以使用Bindings。 德文資料來源:http://www.torsten-horn.de/techdocs/jee-oracleweblogic.htm#Kompatibilitätsprobleme

+0

第二個不需要 – 2015-05-01 02:47:25

+0

就我而言,你實際上需要它,如果你也想在戰爭檔案中使用依賴關係的話。 – 2015-05-08 08:33:46

0

我們也面臨着類似的問題,我們的應用程序。 應用程序 - Spring MVC &我們正在遷移到Weblogic12c。我們嘗試了不同的方式,比如修改pom.xml &全部。但最後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>