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日

相关文章

  • JavaScript数据类型和变量_动力节点Java学院整理

    JavaScript数据类型和变量攻略 JavaScript数据类型 JavaScript有七种数据类型:数字(Number)、字符串(String)、布尔(Boolean)、对象(Object)、空(Null)、未定义(Undefined)和Symbol(符号) 使用typeof操作符可以检测数据类型 // 检测数字类型 typeof 123 //输出 &…

    Java 2023年5月26日
    00
  • 熟悉maven:使java开发变得更高效

    熟悉Maven:使Java开发变得更高效 什么是Maven? Apache Maven是一个自动化构建工具,可以帮助我们管理Java项目的依赖关系、生成可执行文件、运行单元测试以及部署我们的代码。 Maven的核心概念 项目坐标 Maven通过“项目坐标”来唯一标识一个项目。项目坐标由groupId、artifactId、version三部分组成。 例如: …

    Java 2023年5月20日
    00
  • ​​​​​​​Spring多租户数据源管理 AbstractRoutingDataSource

    下面我就来详细讲解一下“Spring多租户数据源管理 AbstractRoutingDataSource”的完整攻略。 什么是多租户数据源管理 在多租户系统中,一份应用程序服务多个用户,每个用户有自己独立的数据。多租户数据源解决了这个问题,通过配置多个数据源,根据不同的用户请求来动态选取对应的数据源,从而实现对多租户数据的支持。 AbstractRoutin…

    Java 2023年5月20日
    00
  • Java web项目启动Tomcat报错解决方案

    下面我将为您详细讲解“Java web项目启动Tomcat报错解决方案”的完整攻略。 问题描述 当我们使用IDE(例如Eclipse、IntelliJ IDEA)部署Java web项目到Tomcat中启动时,可能会遇到各种报错,例如以下报错信息: SEVERE: Error listenerStart java.lang.ClassNotFoundExce…

    Java 2023年5月19日
    00
  • JSP中实现系统登录后的退出原理及代码

    一、JSP中实现系统登录后的退出原理 在JSP中实现系统登录后的退出,其原理其实非常简单,就是使用户的会话失效。当用户在浏览器中点击退出登录操作时,我们需要做的就是销毁当前用户的会话,这样在之后的会话中,用户就需要重新进行登录验证。 JSP中实现会话失效有两种方式: 1.使用Session.invalidate()方法 在JSP页面中,当用户点击退出登录时,…

    Java 2023年6月15日
    00
  • 如何实现人民币的大写转换?

    人民币的大写转换是前端开发中需要涉及到的一个非常常见的需求,下面我将详细讲解如何实现人民币的大写转换。 1. 准备工作 首先需要明确的是,人民币的大写转换规则是非常繁琐复杂的,因此写代码之前我们需要理清楚具体的转换规则。在这里,我提供一个比较通用的代码实现,其中包含了大部分的转换规则,如果有需要可以根据自己的实际需求做调整。代码实现如下: function …

    Java 2023年6月15日
    00
  • Java中高效判断数组中是否包含某个元素的几种方法

    下面来详细讲解Java中高效判断数组中是否包含某个元素的几种方法。 问题描述 在Java中的开发中经常需要判断一个数组中是否包含某个元素,这是一个非常常见的需求。但是在实践中,我们需要选择高效的方法来完成这个任务,以尽快地得到结果,提高程序的运行效率和响应速度。 方法一:使用循环判断 使用循环逐一遍历数组中的元素,对每个元素和目标元素进行比较,如果相同,则说…

    Java 2023年5月26日
    00
  • springboot连接redis并动态切换database的实现方法

    下面我会详细讲解“springboot连接redis并动态切换database的实现方法”的完整攻略。 1. 引入依赖 首先需要在 pom.xml 文件里引入 Redis 相关的依赖项: <dependency> <groupId>org.springframework.boot</groupId> <artifac…

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