2017-06-08 88 views
0

我正在將我的應用程序從我的開發環境移動到我的測試環境。將Spring Boot應用程序部署到Weblogic - Weblogic試圖加載我的主類作爲XML資源並失敗

什麼是相同的:

  • Weblogic的版本(10.3.6)
  • Weblogic的託管庫(無)
  • 數據源JNDI名稱

所不同的是:

  • dev是代理服務器後面的1臺服務器;測試是在一個代理2臺服務器,都指向同一個DB
  • 不同的數據庫實例(但相同的架構)
  • 我們的應用程序在開發孤立的,而是在測試同一位置(在服務器上運行多個應用程序)

堆棧跟蹤和配置文件如下。

看起來對我來說,WegLogic試圖打開我的主類(TctWebApplication)爲XML上下文文件,並沒有因爲A)它不是XML和B),沒有叫TctWebApplication文件 - 只需Java類加載器將能夠找到的類路徑上的類定義。

據我們所知,與我們並置的其他應用程序都沒有使用Spring,因此它們都不應該設置任何將Spring限制爲XML配置的舊Spring屬性。

還有什麼可能導致這種情況?

This SO question看起來表面上相似,但並不完全相同,並且我們沒有在引入該問題的Weblogic版本上運行。我還沒有發現任何看起來類似的東西。

請注意,儘管我有一些直接部署到Weblogic的Maven配置,但是我卻通過Weglogic控制檯手動部署。以防萬一,這是相關的。

堆棧跟蹤我得到的測試:

15:48:26.612 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loadi 
ng XML bean definitions from ServletContext resource [/<package name redacted>.TctWebApplication] 
15:48:26.627 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR org.springframework.web.context.ContextLoader - Context initializati 
on failed 
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/<package name redacted>.TctWebApplication 
]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/<package name redacted>.TctWebApplication] 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:349) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) 
     at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124) 
     at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:92) 
     at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123) 
     at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) 
     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) 
     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) 
     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) 
     at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481) 
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
     at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
     at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181) 
     at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1871) 
     at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3173) 
     at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1529) 
     at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:488) 
     at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425) 
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) 
     at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) 
     at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) 
     at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247) 
     at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425) 
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) 
     at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) 
     at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27) 
     at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:671) 
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) 
     at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) 
     at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:44) 
     at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161) 
     at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) 
     at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:573) 
     at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150) 
     at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116) 
     at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:149) 
     at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:327) 
     at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844) 
     at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253) 
     at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440) 
     at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163) 
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195) 
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13) 
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68) 
     at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:550) 
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263) 
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) 
Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/<package name redacted>.TctWebApplication] 
     at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:117) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336) 
     ... 50 common frames omitted 
<Jun 7, 2017 3:48:26 PM EDT> <Warning> <HTTP> <BEA-101162> <User defined listener org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener failed: or 
g.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/<package name redacted>.TctWebApplication]; 
nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/<package name redacted>.TctWebApplication]. 
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/<package name redacted>.TctWebApplication 
]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/<package name redacted>.TctWebApplication] 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:349) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) 
     Truncated. see log file for complete stacktrace 
Caused By: java.io.FileNotFoundException: Could not open ServletContext resource [/<package name redacted>.TctWebApplication] 
     at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:117) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) 
     Truncated. see log file for complete stacktrace 

的web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
    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"> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value><-- package name redacted-->.TctWebApplication</param-value> 
    </context-param> 

    <listener> 
     <listener-class>org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener</listener-class> 
    </listener> 

    <context-param> 
     <!-- file to load --> 
     <param-name>log4j-init-file</param-name> 
     <param-value>log4j.xml</param-value> 
    </context-param> 
    <context-param> 
     <!-- load from classpath --> 
     <param-name>load-config-with-classloader</param-name> 
     <param-value>true</param-value> 
    </context-param> 

    <listener> 
     <listener-class><-- package name redacted-->.Log4jContextListener 
     </listener-class> 
    </listener> 

    <servlet> 
     <servlet-name>appServlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextAttribute</param-name> 
      <param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value> 
     </init-param> 
     <load-on-startup>2</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>appServlet</servlet-name> 
     <url-pattern>/*</url-pattern> 
    </servlet-mapping> 

    <filter> 
     <filter-name>SecurityFilter</filter-name> 
     <filter-class><-- package name redacted-->.SecurityFilter</filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>SecurityFilter</filter-name> 
     <url-pattern>/api/*</url-pattern> 
    </filter-mapping> 

    <filter> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <url-pattern>/api/*</url-pattern> 
    </filter-mapping> 
</web-app> 

的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/ejb-jar_3_0.xsd   http://xmlns.oracle.com/weblogic/weblogic-web-app   http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"> 
    <wls:context-root>tct</wls:context-root> 
    <wls:container-descriptor> 
     <wls:prefer-application-packages> 
      <wls:package-name>org.slf4j</wls:package-name> 
      <wls:package-name>javax.persistence</wls:package-name> 
      <wls:package-name>org.eclipse.persistence.*</wls:package-name> 
      <wls:package-name>org.joda.*</wls:package-name> 
     </wls:prefer-application-packages> 
    </wls:container-descriptor> 
</wls:weblogic-web-app> 

TctWebApplication.java:

@SpringBootApplication 
@Import({ JpaConfiguration.class, ReportingConfiguration.class }) 
@ImportResource("classpath:applicationContext-security.xml") 
public class TctWebApplication extends SpringBootServletInitializer implements WebApplicationInitializer { 
    private Logger logger = LoggerFactory.getLogger(TctWebApplication.class); 

    public static void main(String[] args) { 
     TimeZone.setDefault(TimeZone.getTimeZone("UTC")); 
     SpringApplication.run(TctWebApplication.class, args); 
    } 

    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
     return application.sources(TctWebApplication.class); 
    } 
} 

web項目的pom.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <artifactId>tct-web</artifactId> 
    <packaging>war</packaging> 

    <name>TCT Web</name> 
    <description>Web interface for the TCT application</description> 

    <parent> 
     <groupId><-- group id redacted --></groupId> 
     <artifactId>travel-comp-time</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <relativePath>..</relativePath> 
    </parent> 

    <properties> 
     <start-class><-- package name redacted -->.TctWebApplication</start-class> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId><-- group id redacted --></groupId> 
      <artifactId>tct-data</artifactId> 
     </dependency> 
     <dependency> 
      <groupId><-- group id redacted --></groupId> 
      <artifactId>tct-security</artifactId> 
     </dependency> 
     <dependency> 
      <groupId><-- group id redacted --></groupId> 
      <artifactId>tct-reporting</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
      <exclusions> 
       <exclusion> 
        <groupId>org.slf4j</groupId> 
        <artifactId>log4j-over-slf4j</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-tomcat</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-legacy</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-tomcat</artifactId> 
      <scope>provided</scope> 
      <!-- This ensures that the Tomcat starter doesn't interfere with WebLogic's 
       servlet container --> 
     </dependency> 

     <dependency> 
      <groupId>net.sf.jasperreports</groupId> 
      <artifactId>jasperreports-fonts</artifactId> 
      <version>5.6.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.webjars</groupId> 
      <artifactId>jquery</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.webjars</groupId> 
      <artifactId>jquery-ui</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.webjars</groupId> 
      <artifactId>bootstrap</artifactId> 
     </dependency> 


     <dependency> 
      <groupId><-- group id redacted --></groupId> 
      <artifactId>ws-sec</artifactId> 
      <version>2.5.10</version> 
      <!-- <scope>provided</scope> --> 
     </dependency> 

     <dependency> 
      <groupId><-- group id redacted --></groupId> 
      <artifactId>secapi-spring</artifactId> 
      <version>1.2.0-BUILD-SNAPSHOT</version> 
      <exclusions> 
       <exclusion> 
        <groupId>org.slf4j</groupId> 
        <artifactId>slf4j-log4j12</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-security</artifactId> 
      <exclusions> 
       <exclusion> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-logging</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

     <!-- Transient dependencies needed by the security library --> 
     <dependency> 
      <groupId><-- group id redacted --></groupId> 
      <artifactId>CustomLogger</artifactId> 
      <version>1.3</version> 
     </dependency> 
     <dependency> 
      <groupId>axis</groupId> 
      <artifactId>axis</artifactId> 
      <version>1.2.1</version> 
     </dependency> 
     <dependency> 
      <groupId>axis</groupId> 
      <artifactId>axis-ant</artifactId> 
      <version>1.2.1</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.xml</groupId> 
      <artifactId>jaxrpc</artifactId> 
      <version>1.1</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.xml.soap</groupId> 
      <artifactId>saaj</artifactId> 
      <version>1.2</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-discovery</groupId> 
      <artifactId>commons-discovery</artifactId> 
      <version>0.2</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-logging</groupId> 
      <artifactId>commons-logging</artifactId> 
      <version>1.0.4</version> 
     </dependency> 
     <dependency> 
      <groupId>wsdl4j</groupId> 
      <artifactId>wsdl4j</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
      <plugin> 
       <!-- To get this working, make sure you install the weblogic-maven-plugin.jar. 
        Then you can run this command from a terminal: mvn com.oracle.weblogic:weblogic-maven-plugin:deploy --> 
       <groupId>com.oracle.weblogic</groupId> 
       <artifactId>weblogic-maven-plugin</artifactId> 
       <version>10.3.6.0</version> 
       <configuration> 
        <adminurl>t3://localhost:7001</adminurl> 
        <user>weblogic</user> 
        <password>weblogic1</password> 
        <upload>true</upload> 
        <action>deploy</action> 
        <remote>false</remote> 
        <verbose>true</verbose> 
        <source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source> 
        <name>${project.build.finalName}</name> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

父項目的POM。XML:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId><-- group id redacted --></groupId> 
    <artifactId>travel-comp-time</artifactId> 
    <packaging>pom</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>Travel Comp Time Application</name> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.3.5.RELEASE</version> 
     <relativePath /> <!-- lookup parent from repository --> 
    </parent> 

    <modules> 
     <module>tct-data</module> 
     <module>tct-reporting</module> 
     <module>tct-security</module> 
     <module>tct-web</module> 
    </modules> 

    <properties> 
     <!-- set versions here so all modules use same version of dependencies, 
      etc --> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <java.version>1.7</java.version> 
     <maven.compiler.target>1.7</maven.compiler.target> 
     <maven.compiler.source>1.7</maven.compiler.source> 
     <oracle.version>12.1.0.2</oracle.version> 
     <eclipselink.version>2.6.4</eclipselink.version> 
     <jasperreports.version>6.2.0</jasperreports.version> 
     <spring-boot-legacy.version>1.0.2.RELEASE</spring-boot-legacy.version> 
     <jquery.version>3.1.0</jquery.version> 
     <jquery-ui.version>1.12.1</jquery-ui.version> 
     <bootstrap.version>3.3.7</bootstrap.version> 
    </properties> 

    <dependencies> 
     <!-- <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
     </dependency> --> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>joda-time</groupId> 
      <artifactId>joda-time</artifactId> 
     </dependency> 
    </dependencies> 

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId><-- group id redacted --></groupId> 
       <artifactId>tct-data</artifactId> 
       <version>${project.version}</version> 
      </dependency> 
      <dependency> 
       <groupId><-- group id redacted --></groupId> 
       <artifactId>tct-security</artifactId> 
       <version>${project.version}</version> 
      </dependency> 
      <dependency> 
       <groupId><-- group id redacted --></groupId> 
       <artifactId>tct-reporting</artifactId> 
       <version>${project.version}</version> 
      </dependency> 

      <dependency> 
       <groupId>com.oracle</groupId> 
       <artifactId>ojdbc7</artifactId> 
       <version>${oracle.version}</version> 
      </dependency> 
      <dependency> 
       <groupId>org.eclipse.persistence</groupId> 
       <artifactId>org.eclipse.persistence.jpa</artifactId> 
       <version>${eclipselink.version}</version> 
      </dependency> 
      <dependency> 
       <groupId>org.eclipse.persistence</groupId> 
       <artifactId>org.eclipse.persistence.oracle</artifactId> 
       <version>${eclipselink.version}</version> 
      </dependency> 
      <dependency> 
       <groupId>net.sf.jasperreports</groupId> 
       <artifactId>jasperreports</artifactId> 
       <version>${jasperreports.version}</version> 
      </dependency> 
      <dependency> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-legacy</artifactId> 
       <version>${spring-boot-legacy.version}</version> 
      </dependency> 

      <dependency> 
       <groupId>org.webjars</groupId> 
       <artifactId>jquery</artifactId> 
       <version>${jquery.version}</version> 
      </dependency> 
      <dependency> 
       <groupId>org.webjars</groupId> 
       <artifactId>jquery-ui</artifactId> 
       <version>${jquery-ui.version}</version> 
      </dependency> 
      <dependency> 
       <groupId>org.webjars</groupId> 
       <artifactId>bootstrap</artifactId> 
       <version>${bootstrap.version}</version> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <configuration> 
        <excludes> 
         <exclude>**/*IntegrationTest.java</exclude> 
        </excludes> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-failsafe-plugin</artifactId> 
       <configuration> 
        <includes> 
         <include>**/*IntegrationTest.java</include> 
        </includes> 
       </configuration> 
       <executions> 
        <execution> 
         <id>integration-test</id> 
         <goals> 
          <goal>integration-test</goal> 
         </goals> 
        </execution> 
        <!-- Uncomment/comment this in order to fail the build if any integration 
         test fail --> 
        <execution> 
         <id>verify</id> 
         <goals> 
          <goal>verify</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

    <reporting> 
     <plugins> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>findbugs-maven-plugin</artifactId> 
       <version>3.0.3</version> 
      </plugin> 
      <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> 
       <version>2.17</version> <reportSets> <reportSet> <reports> <report>checkstyle</report> 
       </reports> </reportSet> </reportSets> </plugin> --> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>cobertura-maven-plugin</artifactId> 
       <version>2.7</version> 
       <configuration> 
        <instrumentation> 
         <ignoreTrivial>true</ignoreTrivial> 
        </instrumentation> 
       </configuration> 
      </plugin> 

     </plugins> 
    </reporting> 

    <repositories> 
     <repository> 
      <id>spring-snapshots</id> 
      <name>Spring Snapshots</name> 
      <url>https://repo.spring.io/snapshot</url> 
      <snapshots> 
       <enabled>true</enabled> 
      </snapshots> 
     </repository> 
     <repository> 
      <id>spring-milestones</id> 
      <name>Spring Milestones</name> 
      <url>https://repo.spring.io/milestone</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository> 
    </repositories> 
    <pluginRepositories> 
     <pluginRepository> 
      <id>spring-snapshots</id> 
      <name>Spring Snapshots</name> 
      <url>https://repo.spring.io/snapshot</url> 
      <snapshots> 
       <enabled>true</enabled> 
      </snapshots> 
     </pluginRepository> 
     <pluginRepository> 
      <id>spring-milestones</id> 
      <name>Spring Milestones</name> 
      <url>https://repo.spring.io/milestone</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </pluginRepository> 
    </pluginRepositories> 
</project> 

我們也有我們的春季安全的東西一些XML配置,因爲該組織有,我並沒有想嘗試現代化,只是還沒有一些定製的東西,但它從未獲得到的點將它導入到我的Main類中,一旦我編輯了它,就會有一些有用的信息,所以我現在不會發布它。

+0

爲什麼contextConfigLocation的值是'< - 包名稱編輯 - >。TctWebApplication'。您是否嘗試刪除該評論? –

+0

請分享pom.xml –

+0

@EmreTürkiş - 我只是在將它發佈到堆棧溢出之前對它進行了編寫。軟件包名稱提供了我不應該在通用互聯網上公開的識別信息。原始文件和堆棧跟蹤沒有該註釋 - 它們具有該文件的正確包名。 –

回答

1

添加此行<wls:package-name>org.springframework.*</wls:package-name>到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/ejb-jar_3_0.xsd   http://xmlns.oracle.com/weblogic/weblogic-web-app   http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"> 
    <wls:context-root>tct</wls:context-root> 
    <wls:container-descriptor> 
     <wls:prefer-application-packages> 
      <wls:package-name>org.slf4j</wls:package-name> 
      <wls:package-name>javax.persistence</wls:package-name> 
      <wls:package-name>org.eclipse.persistence.*</wls:package-name> 
      <wls:package-name>org.joda.*</wls:package-name> 
      <wls:package-name>org.springframework.*</wls:package-name> 
     </wls:prefer-application-packages> 
    </wls:container-descriptor> 
</wls:weblogic-web-app> 
相關問題