weblogic 8.1下重新编译java类但不用重启服务器的方法

下面是详细讲解“weblogic 8.1下重新编译java类但不用重启服务器的方法”的攻略。

1. 程序员常见需求

在开发过程中,程序员通常会进行代码修改和调试,有些时候我们需要重新编译java类使其生效,但是重新启动WebLogic服务器显然不是一个好的选择,因为这样会浪费很多时间。

2. 编译方法

为了实现不用重启服务器就可以重新编译java类的方法,我们需要做以下几个步骤:

2.1. 打开WebLogic服务器控制台

首先需要打开WebLogic服务器的控制台,可以通过在浏览器中输入http://localhost:7001/console进行访问。

2.2. 进入WebLogic服务器运行目录

进入控制台后,需要进入WebLogic服务器运行目录,在Linux系统下,运行目录通常为/usr/local/bea/user_projects/domains/<domain_name>

2.3. 编辑WebLogic服务器的启动脚本

在运行目录下找到startWebLogic.sh文件,该文件为WebLogic服务器的启动脚本,在该文件中增加以下配置:

JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.management.discover=false -Dweblogic.management.server=http://localhost:7001 -Dweblogic.ProductionModeEnabled=false -Dweblogic.management.username=<weblogic_username> -Dweblogic.management.password=<weblogic_password> -Dweblogic.security.SSL.ignoreHostnameVerification=true"
export JAVA_OPTIONS

其中,<weblogic_username><weblogic_password>需要替换为WebLogic服务器的管理用户名和密码。

2.4. 启动WebLogic服务器

保存startWebLogic.sh文件后,在运行目录下执行以下命令启动WebLogic服务器:

./startWebLogic.sh

2.5. 动态编译java类

在WebLogic服务器启动后,需要进入到需要进行动态编译的java类所在目录。在该目录下,依次执行以下命令:

export CLASSPATH=<所有依赖包的路径>
javac -classpath $CLASSPATH -d . HelloWorld.java

其中,<所有依赖包的路径>需要替换为所有依赖包的路径。

如果编译成功,就可以重新使用修改后的java类了。

3. 示例说明

以下是两个示例例说明:

3.1. 示例1:重新编译一个简单的java类

假设我们需要重新编译一个简单的java类,该类名为HelloWorld.java,代码如下:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

我们可以依次执行以下步骤进行动态编译:

  1. HelloWorld.java放到WebLogic服务器运行目录下的/helloWorld目录下。
  2. 进入/helloWorld目录,并执行以下命令:
export CLASSPATH=/usr/local/bea/user_projects/domains/test_domain/helloWorld:$CLASSPATH
javac -classpath $CLASSPATH -d . HelloWorld.java
  1. 如果编译成功,运行以下命令:
java HelloWorld

就可以看到Hello World!的输出了。

3.2. 示例2:重新编译一个依赖其他包的java类

假设我们需要重新编译一个依赖其他包的java类,该类名为HelloWorld.java,代码如下:

import org.apache.commons.lang.StringUtils;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println(StringUtils.capitalize("hello world!"));
    }
}

我们可以依次执行以下步骤进行动态编译:

  1. HelloWorld.java放到WebLogic服务器运行目录下的/helloWorld目录下。
  2. commons-lang-2.6.jar包放到WebLogic服务器运行目录下的/helloWorld/lib目录下。
  3. 进入/helloWorld目录,并执行以下命令:
export CLASSPATH=/usr/local/bea/user_projects/domains/test_domain/helloWorld/lib/commons-lang-2.6.jar:/usr/local/bea/user_projects/domains/test_domain/helloWorld:$CLASSPATH
javac -classpath $CLASSPATH -d . HelloWorld.java
  1. 如果编译成功,运行以下命令:
java -classpath /usr/local/bea/user_projects/domains/test_domain/helloWorld/lib/commons-lang-2.6.jar:. HelloWorld

就可以看到Hello world!的输出了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:weblogic 8.1下重新编译java类但不用重启服务器的方法 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Eclipse+Java+Swing+Mysql实现工资管理系统

    Eclipse+Java+Swing+Mysql实现工资管理系统攻略 1. 系统概述 工资管理系统是企业内部薪资管理的重要组成部分,其任务是集中管理员工的薪资及相关信息。本系统采用Eclipse+Java+Swing+Mysql技术实现,具备以下功能模块: 登录模块:提供登录界面,验证用户身份。 员工信息管理:添加、删除员工及修改员工信息。 薪资管理:计算、…

    Java 2023年5月30日
    00
  • python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解

    Python中的print()函数和Java中的System.out.print()都是输出函数,它们都可以向控制台输出内容。下面详细讲解两者的区别以及两者在输出时“+”的功能。 Python中print()函数 语法 print(value1, value2, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=F…

    Java 2023年5月26日
    00
  • IDEA 中 maven 的 Lifecycle 和Plugins 的区别

    IDEA 是一款常用的 Java 开发工具,它集成了 Maven 管理工具,可以方便地使用 Maven 来管理 Java 项目。在 IDEA 中,我们可以通过 Maven 的 Lifecycle 和 Plugins 来对项目进行构建和管理。这里我们来详细讲解这两者的区别。 Maven Lifecycle Maven 的 Lifecycle(生命周期)是指 M…

    Java 2023年5月20日
    00
  • Spring Boot 之HelloWorld开发案例

    下面我将为大家详细讲解“SpringBoot之HelloWorld开发案例”的完整攻略。首先,我们需要了解一些SpringBoot的基础知识。 SpringBoot是一个快速开发框架,它使开发者可以快速地创建基于Spring的应用程序。SpringBoot通过自动化配置来简化Spring应用程序的初始搭建,同时可以轻松集成第三方库、插件等。 接下来,我们将详…

    Java 2023年5月15日
    00
  • Springboot内外部logback多环境配置详解

    针对“Springboot内外部logback多环境配置详解”这个主题,以下是完整的攻略: 简介 本文主要是介绍如何在Springboot应用中使用logback日志框架,并实现根据不同环境配置不同的日志输出。 前提条件 在开始之前,需要保证你已经: 了解并掌握了Springboot应用开发和使用过程; 能够使用logback进行日志输出; 对logback…

    Java 2023年5月20日
    00
  • java中全排列的生成算法汇总

    Java中全排列的生成算法汇总 一、什么是全排列 全排列,是指将一组数按一定顺序进行排列,称为这组数的全排列。 如有三个数a、b、c,则它们的全排列有:a、b、c、ab、ac、ba、bc、ca、cb、abc、acb、bac、bca、cab、cba 共6个。 二、生成全排列的算法 在Java中,生成全排列的算法有以下几种: 1.递归算法 这种算法实现简单,思路…

    Java 2023年5月19日
    00
  • jsp中session过期设置及web.xml配置学习

    下面是关于“jsp中session过期设置及web.xml配置学习”的完整攻略: 1. session过期设置 1.1 什么是session过期? 在jsp开发中,session在很多场合都扮演了非常重要的角色,他可以用来存储用户的登录状态、用户浏览过的历史页面、用户购物车等等。但是,session也会因为一些原因来使其“死亡”,也就是所谓的过期失效。 1.…

    Java 2023年6月15日
    00
  • Java反射之类的实例对象的三种表示方式总结

    接下来我将为你详细讲解“Java反射之类的实例对象的三种表示方式总结”的完整攻略。 什么是Java反射? Java反射是指在运行时动态地获取类的信息,并可以通过获取的信息来操作类或对象的属性、方法和构造函数等。Java反射常常被用于泛型操作、动态代理、框架开发、ORM框架等场景中。 类与对象的概念 在讲解Java反射的三种实例对象的表示方式之前,我们需要明确…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部