【问题标题】:How to deploy SpringBoot Application on Weblogic application server?如何在 Weblogic 应用服务器上部署 Spring Boot 应用程序?
【发布时间】:2016-11-15 18:01:20
【问题描述】:

我已经创建了一个 SpringBoot 应用程序。 我想在我的本地服务器(Weblogic 12c)上部署它。 当我尝试部署战争时,我收到以下错误消息:

java.lang.IllegalArgumentException: 无效的源类型类 my.company.MySpringBootApplication

这是我的罪名:

package my.company;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class MySpringBootApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(MySpringBootApplication.class, args);
    }

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

我该如何解决这个问题?

提前致谢;)

【问题讨论】:

  • 很难说没有更多细节。尝试替换为application.sources(MySpringBootApplication.class)
  • 非常感谢!你的建议我已经解决了!

标签: java spring spring-boot weblogic weblogic12c


【解决方案1】:

这只是替换这一行的问题:

package my.company;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.WebApplicationInitializer;


@ComponentScan
@EnableAutoConfiguration
public class MySpringBootApplication extends SpringBootServletInitializer implements WebApplicationInitializer  {

    @Value("${flag.status}")
    private String flagStatus;

    public static void main(String[] args) {
        SpringApplication.run(MySpringBootApplication.class, args);
    }

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

    private static Class<MySpringBootApplication > applicationClass = MySpringBootApplication .class;
}

【讨论】:

  • 嗨,flag.status 来自 yml 文件。我的问题是 weblogic 没有找到 yml 文件条目。 yml 文件位于 src/main/resources 下。在 dispatcher-servlet.xml 中,我确实有一个到资源文件夹的映射。 --谢谢。