EJB使用build.xml来打包编译

本文介绍了一个使用Ant脚本构建EJB3项目的示例,包括编译源代码、创建EJB部署包并部署到JBoss服务器的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模板:

<?xml version="1.0"?>

<!-- ======================================================================= -->
<!-- EJB3 HelloWorld build file -->
<!-- ======================================================================= -->
<!--HelloWorld为随便去一个名称-->
<project name="HelloWorld" default="ejbjar" basedir=".."><!--( . 表示build.xml所在路径)-->

<property environment="env" />
<property name="app.dir" value="${basedir}\EjbHelloWorld" /><!--EjbHelloWorld项目名称-->
<property name="src.dir" value="${app.dir}\src" />
<!--JBOSS_HOME路径 注意:当环境变量发生改变过后要重新启动Myeclipse 才会重新去读取环境变量--->
<property name="jboss.home" value="${env.JBOSS_HOME}" />
<property name="jboss.server.config" value="default" />
<property name="build.dir" value="${app.dir}\build" />
<property name="build.classes.dir" value="${build.dir}\classes" />

<!-- Build classpath -->
<path id="build.classpath">
<fileset dir="${jboss.home}\client">
<include name="*.jar" />
</fileset>
<pathelement location="${build.classes.dir}" />
</path>

<!-- =================================================================== -->
<!-- Prepares the build directory -->
<!-- =================================================================== -->
<target name="prepare" depends="clean">
<mkdir dir="${build.dir}" />
<mkdir dir="${build.classes.dir}" />
</target>

<!-- =================================================================== -->
<!-- Compiles the source code -->
<!-- =================================================================== -->
<target name="compile" depends="prepare" description="编绎">
<javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="com/**">
<classpath refid="build.classpath" />
</javac>
</target>

<target name="ejbjar" depends="compile" description="创建EJB发布包">
<jar jarfile="${app.dir}\HelloWorld.jar">
<fileset dir="${build.classes.dir}">
<include name="com/**/*.class" />
</fileset>
</jar>
</target>

<target name="deploy" depends="ejbjar">
<copy file="${app.dir}\HelloWorld.jar" todir="${jboss.home}\server\${jboss.server.config}\deploy" />
</target>

<!-- =================================================================== -->
<!-- Cleans up generated stuff -->
<!-- =================================================================== -->
<target name="clean">
<delete dir="${build.dir}" />
<delete file="${jboss.home}\server\${jboss.server.config}\deploy\HelloWorld.jar" />
</target>

</project>

上面只提供了build.xml在开放Ejb使用的模板
打包报错了,<Jul 30, 2025, 5:50:36,784 PM China Standard Time> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID "7889792369197352" for task "920" on [partition-name: DOMAIN]. Error is: "weblogic.application.ModuleException: java.lang.ClassNotFoundException: com.lkm.ejb.toolmanage.server.ToolManageEjb" weblogic.application.ModuleException: java.lang.ClassNotFoundException: com.lkm.ejb.toolmanage.server.ToolManageEjb at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:114) at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100) at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:192) at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:187) at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:83) Truncated. see log file for complete stacktrace Caused By: java.lang.ClassNotFoundException: com.lkm.ejb.toolmanage.server.ToolManageEjb at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:1035) at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:996) at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:101) at weblogic.utils.classloaders.GenericClassLoader.doFindClass(GenericClassLoader.java:617) at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:547) Truncated. see log file for complete stacktrace
最新发布
07-31
### JRebel `jrebel.xml` 配置文件详解 JRebel 的配置主要通过 `jrebel.xml` 文件完成。该文件允许开发人员自定义如何处理应用程序的不同部分,从而优化热重载行为。 #### 基本结构 以下是典型的 `jrebel.xml` 文件的基本结构: ```xml <?xml version="1.0" encoding="UTF-8"?> <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://manuals.jrebel.com/schema/jrebel/application.xsd" xmlns="https://manuals.jrebel.com/schema/jrebel"> <!-- 类路径映射 --> <classpath> <dir name="${project.basedir}/target/classes"/> </classpath> <!-- Web 应用程序配置 --> <web> <link target="/"> <dir name="${basedir}/WebRoot"/> </link> </web> <!-- Java EE 组件配置 --> <ejb> <classpattern name="com.example.MyBeanImpl"> <property name="beanName" value="MyBean"/> </classpattern> </ejb> </application> ``` #### 关键元素解释 - **类路径 (`classpath`)** - 映射编译后的 `.class` 文件位置到运行时环境。 - **Web 应用程序 (`web`)** - 将物理目录链接至虚拟主机根目录或其他上下文路径下。 - **Java EE 组件 (`ejb`, `managed-bean`, etc.)** - 对于 EJB 或其他托管 Bean 提供特定属性覆盖机制[^2]。 #### 实际应用案例 当使用 Spring Boot 和 JRebel 结合时,可以通过如下方式简化配置并提高效率: ```xml <!-- jrebel.xml --> <application ... > <server id="spring-boot"/> <classpath> <dir name="${project.build.directory}/classes"/> </classpath> <web> <link target="/"> <dir name="${basedir}/src/main/webapp"/> </link> </web> <!-- 支持 Thymeleaf 模板即时刷新 --> <resource> <dir name="${basedir}/src/main/resources/templates"/> </resource> </application> ``` 此配置不仅涵盖了标准的类和资源路径还包括了对模板引擎的支持,使得前端页面修改也能立即生效[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青年IT男

您的打赏就是对我的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值