在 Oracle WebLogic Server 上部署 Spring Boot 应用程序

1- 发帖目的

在这篇文章中,我将向您展示如何在WebLogic Server上部署Spring Boot应用程序。这是Oracle提供的Web 服务器,可免费下载、开发、测试、原型设计和演示您的应用程序。WebLogic基于OTN许可证发布 。

确保您已 成功安装WebLogic  如果没有,可以参考下一篇安装WebLogic的方法 :
实际上,  Spring Boot应用程序可以打包成一个 Executable JAR 文件。使用此文件,您可以直接运行应用程序,而无需将其部署在任何Web 服务器上。Executable JAR 文件 不能兼容所有的Web服务器,因此,如果你想将它部署在Web 服务器上, 你需要将Spring Boot应用程序打包成一个WAR文件。

2-编辑代码

我在这里有一个 Spring Boot 项目,使用 Eclipse IDE开发。创建 Spring Boot时,您有 2 种选择来打包此项目,例如 WAR 或 JAR

当您 使用“Packaging = War” 选项创建Spring Boot 项目时 , Eclipse 将为您创建 2 个类,例如 “AbcApplication & ServletInitializer” 。 WAR 文件适合部署在 Web 服务器上。

同时,如果您  使用 “Packaging = Jar”选项 创建Spring Boot ,则只会创建一个AbcApplication 类。当 Spring Boot 应用程序打包到 JAR文件中时,它可以独立执行,无需部署在任何 Web Server上。但是  JAR 文件不适合部署在 Web 服务器上。

WAR 文件。
如果您有可用的 Spring Boot,则需要将打包方法更正为 WAR
在 Eclipse 上 打开 pom.xml 文件,将打包方式改为 war

如果您的项目没有ServletInitializer类,请创建它。

ServletInitializer.java

package org.o7planning.example;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

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

}
将以下配置片段添加到 pom.xml
** pom.xml **

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

 

如果您的项目中有多个 Application类,请告诉 Spring Boot 哪个类将用于您的应用程序。
** pom.xml **

<properties>
        <start-class>org.o7planning.example.OtherSpringBootWebApplication</start-class>
</properties>
weblogic.xml & dispatcherServlet-servlet.xml
 在 src/main/webapp/WEB-INF 文件夹中 创建 weblogic.xml & dispatcherServlet-servlet.xml 2个文件。请注意,如果此文件夹不存在,请创建它。

当您的应用程序部署在 WebLogic上时,会出现 "context-root = /myweb",您可以通过在 weblogic.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://xmlns.oracle.com/weblogic/weblogic-web-app
        http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">

    <wls:context-root>/myweb</wls:context-root>
    <wls:container-descriptor>
        <wls:prefer-application-packages>
            <wls:package-name>org.slf4j.*</wls:package-name>
            <wls:package-name>org.springframework.*</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>

</wls:weblogic-web-app>
dispatcherServlet-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd">
    
</beans>

3-安装Spring Boot

在下一步中,您需要使用 Maven 创建  WAR文件。您必须确保您的 Eclipse 使用的是  JDK 而不是 JRE。如果不是,则在此过程中将发生错误。
右键单击项目并选择:
  • 运行方式/Maven 安装

此时,您将在项目的目标文件夹中有一个WAR文件,您可以使用该文件部署在Tomcat 服务器上。

4- 在 WebLogic 上部署

将应用程序打包成 WAR 文件后,您可以在WebLogic上部署该文件 :

有两种方法可以将应用程序部署到 WebLogic Server.
  1. WAR文件复制到服务器的文件夹中,然后将其部署到WebLogic中。如果要重新部署应用程序,只需复制新的WAR文件覆盖旧文件并通知WebLogic更新应用程序即可。
  2. 使用Upload 功能部署 WAR文件。
好的,到这里,我已经复制了 WAR 文件并安装到了服务器的一个文件夹中。

按 “激活更改” 以激活更改。

此时,您的应用程序处于“已 准备” 状态(已准备好)。它并没有真正激活工作。

测试

5-取消部署

在WebLogic 上取消部署应用程序 ,您必须执行 2 个步骤。
  1. 停止应用程序。
  2. 从WebLogic中删除应用程序 。

6-更新部署

如果您的应用程序升级了,您需要重新打包应用程序并获得一个新的WAR文件。要重新部署应用程序,您有两种方法:
  1. 取消部署应用程序并重新部署。
  2. 复制一个新的 WAR 文件,覆盖旧的 WAR 文件并通知 WebLogic 再次更新应用程序(或重新启动 WebLogic)。注意:仅当您的应用程序直接从  放在服务器上的WAR文件部署时才使用这种方式。
在上一步中,我直接从  放置在服务器文件夹中的WAR文件部署了应用程序。现在我将复制新文件以覆盖旧文件。

并更新应用程序:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值