下面是详细讲解“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!");
}
}
我们可以依次执行以下步骤进行动态编译:
- 将
HelloWorld.java
放到WebLogic服务器运行目录下的/helloWorld
目录下。 - 进入
/helloWorld
目录,并执行以下命令:
export CLASSPATH=/usr/local/bea/user_projects/domains/test_domain/helloWorld:$CLASSPATH
javac -classpath $CLASSPATH -d . HelloWorld.java
- 如果编译成功,运行以下命令:
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!"));
}
}
我们可以依次执行以下步骤进行动态编译:
- 将
HelloWorld.java
放到WebLogic服务器运行目录下的/helloWorld
目录下。 - 将
commons-lang-2.6.jar
包放到WebLogic服务器运行目录下的/helloWorld/lib
目录下。 - 进入
/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
- 如果编译成功,运行以下命令:
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技术站