SpringBoot部署在Weblogic步骤详情

SpringBoot部署在Weblogic步骤详情

  • SpringBoot项目的pom.xml文件
  • 添加web.xml和weblogic.xml文件
  • 项目启动类:DemoApplication.java
  • 部署项目到weblogic
  • 系统测试

SpringBoot版本:2.0.1.RELEASE

WebLogic版本:Weblogic 12c

本文为测试SpringBoot项目部署在Weblogic服务器上的测试项目。不牵扯到任何的业务逻辑。可以直接将本文重点标注的几个点移至您现有的项目。

SpringBoot项目的pom.xml文件

其中需要添加的依赖为:


    org.springframework.boot
    spring-boot-legacy
    2.0.0.RELEASE


    org.springframework.boot
    spring-boot-starter-tomcat
    provided

打成war包文件:war

完整文件如下:


<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.0.1.RELEASEversion>
        <relativePath/> 
    parent>
    <groupId>com.examplegroupId>
    <artifactId>demoartifactId>
    <version>0.0.1-SNAPSHOTversion>
    <name>demoname>
    <description>Springboot project run on weblogic.description>
    <packaging>warpackaging>

    <properties>
        <java.version>1.8java.version>
    properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starterartifactId>
        dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>

        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-legacyartifactId>
            <version>2.0.0.RELEASEversion>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-tomcatartifactId>
            <scope>providedscope>
        dependency>
    dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>
        plugins>
    build>
project>

添加web.xml和weblogic.xml文件

在main目录下创建webapp目录,和java、resources同级。
在webapp目录下添加WEB-INF目录,在WEB-INF目录下创建web.xml和weblogic.xml文件。

web.xml和weblogic.xml文件内容如下:

web.xml,其中com.example.demo.DemoApplication为你项目的启动类文件的目录。



<web-app>
    <context-param>
        <param-name>contextConfigLocationparam-name>
        <param-value>com.example.demo.DemoApplicationparam-value>
    context-param>

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

    <servlet>
        <servlet-name>appServletservlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
        <init-param>
            <param-name>contextAttributeparam-name>
            <param-value>org.springframework.web.context.WebApplicationContext.ROOTparam-value>
        init-param>
        <load-on-startup>1load-on-startup>
    servlet>

    <servlet-mapping>
        <servlet-name>appServletservlet-name>
        <url-pattern>/url-pattern>
    servlet-mapping>
web-app>

weblogic.xml,其中/demo为项目启动后的访问路径。如果不需要,直接改为/即可


<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.3/weblogic-web-app.xsd">

    <container-descriptor>

        <prefer-application-packages>
            <package-name>org.slf4jpackage-name>
            <package-name>javax.validation.*package-name>
            <package-name>org.hibernate.*package-name>
            <package-name>javax.el.*package-name>
            <package-name>org.springframework.*package-name>
        prefer-application-packages>
    container-descriptor>
    <context-root>/democontext-root>
weblogic-web-app>

项目启动类:DemoApplication.java

注意将启动类继承SpringBootServletInitializer, 实现WebApplicationInitializer

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer implements WebApplicationInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @GetMapping("/test")
    public String test(){
        return "test";
    }
}

以上项目配置完成,执行mvn clean package打成war文件。可以直接使用idea的maven打包。

部署项目到weblogic

详细步骤如下图:
SpringBoot部署在Weblogic步骤详情_第1张图片

SpringBoot部署在Weblogic步骤详情_第2张图片

SpringBoot部署在Weblogic步骤详情_第3张图片

SpringBoot部署在Weblogic步骤详情_第4张图片
SpringBoot部署在Weblogic步骤详情_第5张图片

SpringBoot部署在Weblogic步骤详情_第6张图片

显示部署成功后,在浏览器输入地址访问:http://192.168.2.10:7001/demo/test

系统测试

显示结果如下图:
在这里插入图片描述

本文到此结束了,后续文章会陆续更新,文档会同步在CSDN和GitHub保持同步更新。

点个关注再走呗~~~

你可能感兴趣的:(java,weblogic,java,spring,boot,maven,spring)