最近项目中尝试了一下ant打包部署。本文前提是你安装好JDK,设置好环境变量,和安装好ant。
<?xml version="1.0"?>
<project name="test" basedir="." default="deploy">
<property name="name" value= "test"/>
<property name="src" value="src"/>
<property name="lib" value="WebRoot/WEB-INF/lib"/>
<property name="webapp" value="WebRoot"/>
<property name="packages" value="com.*"/>
<property name="dist.dir" value="dist"/>
<property name="build.src" value="${dist.dir}/${name}/src"/>
<property name="build.dest" value="${dist.dir}/${name}/WEB-INF/classes"/>
<property name="buildwar.dest" value="${dist.dir}/${name}"/>
<property name="build.javadocs" value="${dist.dir}/doc"/>
<property name="jar.dest" value="${dist.dir}/jar"/>
<property name="war.dest" value="${dist.dir}/war"/>
<property name="weblogic.home" value="D:\oracle\Middleware\wlserver10.3" />
<property name="wls.username" value="weblogic" />
<property name="wls.password" value="password_1" />
<property name="wls.hostname" value="localhost" />
<property name="wls.port" value="7001" />
<property name="wls.server.name" value="AdminServer" />
<property name="warfile" value="${name}.war"/>
<property name="tomcat.home" value="D:\apache\apache-tomcat-6.0.36"/>
<!--<property name="j2eelib.dir" value="D:\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\EE_5"/>-->
<path id="classpath">
<!--
<fileset dir="${j2eelib.dir}">
<include name="**/*.jar"/>
</fileset> -->
<fileset dir="${lib}">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${weblogic.home}\server\lib">
<include name="weblogic.jar" />
</fileset>
</path>
<target name="init" description="创建打包需要的路径,拷贝源文件到打包路径下">
<mkdir dir="${dist.dir}"/>
<mkdir dir="${build.src}"/>
<mkdir dir="${build.dest}"/>
<mkdir dir="${buildwar.dest}"/>
<mkdir dir="${jar.dest}"/>
<mkdir dir="${war.dest}"/>
<copy todir="${build.src}" overwrite="true">
<fileset dir="${src}" >
<exclude name="log4j.properties"/>
<exclude name="version.properties"/>
</fileset>
</copy>
<copy todir="${buildwar.dest}" overwrite="true">
<fileset dir="${webapp}">
<exclude name="**/log4j.properties"/>
<exclude name="**/version.properties"/>
</fileset>
</copy>
</target>
<taskdef name="wldeploy" classname="weblogic.ant.taskdefs.management.WLDeploy" classpathref="classpath" />
<target name="build" depends="init" description="编译 java 文件,拷贝 properties 属性配置文件到编译后的路径下">
<javac srcdir="${build.src}" encoding="utf-8" destdir="${build.dest}">
<classpath refid="classpath"/>
</javac>
<copy todir="${build.dest}">
<fileset dir="${build.src}">
<include name="**/*.xml"/>
<include name="**/config.properties"/>
</fileset>
</copy>
</target>
<target name="javadoc" depends="build" description="生成 java 的 API 帮助文档">
<mkdir dir="${build.javadocs}"/>
<javadoc packagenames="${packages}" encoding="utf-8" sourcepath="${build.src}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${name} API" doctitle="${name}">
<classpath refid="classpath"/>
</javadoc>
</target>
<target name="buildwar" depends="javadoc" description="打 war 包,不将 java 文件打入包内">
<delete dir="${build.src}"/>
<war warfile="${war.dest}/${warfile}" webxml="${buildwar.dest}/WEB-INF/web.xml">
<lib dir="${buildwar.dest}/WEB-INF/lib"/>
<classes dir="${build.dest}"/>
<fileset dir="${buildwar.dest}" >
<include name="***.*" />
<include name="**/claim-servlet.xml" />
</fileset>
</war>
</target>
<target name="clean" depends="init" description="清除打包用临时文件">
<delete dir="${build.src}"/>
<delete>
<fileset dir="${build.dest}" includes="**/*.classes"/>
</delete>
<delete dir="${buildwar.dest}"/>
</target>
<target name="deploywar" depends="buildwar,clean" description="发布 war 包至 tomcat 目录下">
<copy todir="${tomcat.home}/webapps">
<fileset dir="${war.dest}">
<include name="**/*.war"/>
</fileset>
</copy>
</target>
<target name="deploy" depends="buildwar,clean,undeploy">
<wldeploy action="deploy" name="${name}" source="${war.dest}/${warfile}"
targets="${wls.server.name}" user="${wls.username}" password="${wls.password}"
adminurl="t3://${wls.hostname}:${wls.port}" debug="true" verbose="true" failonerror="true" />
<echo message="come here......" />
<echo message="deploy success......." />
</target>
<target name="undeploy">
<wldeploy action="undeploy" name="${name}" targets="${wls.server.name}" user="${wls.username}" password="${wls.password}" adminurl="t3://${wls.hostname}:${wls.port}" debug="false" verbose="false" failonerror="false" />
</target>
</project>
这个文件包含了。。打包到tomcat和weblogic2种方式,deploywar是指发布到tomcat上,deploy是发布weblogic服务器上,weblogic部署需要一些参数,包括用户名密码端口之类,主要是name以weblogic和wls开头的property属性。里面有个j2eelib.dir。主要是设置myeclipse 里面java EE5环境的classpath。主要用于生成javadoc。。要注意,在编译和生成javadoc的时候要设置编码。
如果大家也是myeclipse web项目,可以将这个build.xml放在项目的根目录下。和SRC平级。然后改下项目名称和tomcat或者weblogic的路径,就可以执行了。(其实,在项目组使用中,应该是将这些需要配置的属性放在一个properties文件中,而build.xml是公用的无需修改的,我自己尝试也就懒得搞了。)。可以直接在myeclipse中点击右键,run as Ant Build.如果已经安装ant,也可以直接在cmd控制台下进入到项目根目录,输入ant即可。
分享到:
相关推荐
WAR包可以被部署到支持WAR格式的应用服务器上,例如Tomcat、WebLogic等。 #### 三、Ant构建WAR包步骤解析 ##### 1. 定义项目结构 在提供的示例中,我们可以看到项目的目录结构已经定义好: - `src`: 存放Java源...
5. **连接服务器并部署**:使用Ant的`deploy`任务或服务器提供的脚本,将应用部署到Tomcat、JBoss、WebLogic等服务器上。 6. **运行测试**:Ant可以集成JUnit等测试框架,自动化执行单元测试和集成测试。 实例一:...
1. **EJB容器**:EJB需要在支持Java EE的服务器上运行,如Tomcat、WildFly或WebLogic等。服务器提供了EJB容器,负责管理和调度EJB实例。 2. **部署文件**:除了ejb-jar.xml,还需要一个全局的weblogic-ejb-jar.xml...
例如,使用Maven进行项目的构建和依赖管理,然后将构建出的WAR文件部署到Tomcat服务器上运行。Ant则可能用于处理一些特定的构建任务,或者在老项目中继续发挥它的作用。 总的来说,Apache Tomcat是Java Web应用的...
4. **部署应用**:开发者可以将Web应用打包成WAR(Web ARchive)文件,然后将其复制到`webapps`目录下,Tomcat会自动解压并部署该应用。 5. **安全配置**:`server.xml`文件中可以配置连接器、 Realm(认证机制)...
部署到Tomcat服务器时,需要注意使用正确的WAR包格式,并且确保Tomcat支持所需的ADF版本。 #### 34.11 部署到支持JDK1.4的应用服务器 针对支持JDK1.4的应用服务器,需要注意其兼容性和性能限制,并确保所有组件都...
6. `webapps`目录:这是应用程序部署的地方,任何按照Java EE Web应用规范打包的WAR文件放在这里,Tomcat会自动解压并部署。 7. `work`目录:包含了Tomcat运行时生成的JSP编译文件和Servlet的临时工作文件。 在...
1. **轻量级服务器**:与一些大型的应用服务器如IBM WebSphere或Oracle WebLogic相比,Tomcat体积小巧,资源占用少,这使得它成为小型项目或开发环境中的理想选择。 2. **Servlet容器**:Tomcat的核心功能是作为...
4. **部署**:发布应用到服务器,如Tomcat、WebLogic等。 5. **清理**:清除编译过程中产生的临时文件和目录。 6. **依赖管理**:管理项目的依赖库,包括下载和更新库文件。 7. **文件操作**:复制、移动、删除文件...
- 与JBoss、WebLogic、WebSphere等企业级应用服务器的集成:作为轻量级Servlet容器,为大型应用提供灵活的部署方案。 通过深入理解Tomcat的源码,开发者可以更好地掌握其工作原理,进行定制化开发和性能调优。对于...
- Tomcat 6.0.10支持与各种应用服务器(如JBoss、WebLogic等)集成。 - 可以与其他Java EE组件(如EJB容器)结合使用,提供更完整的Java EE功能。 总的来说,“apache-tomcat-6.0.10.rar”提供了构建和运行Java ...
4. **打包应用**:将整个应用打包成WAR格式,以便在不同的应用服务器上部署。 5. **配置应用服务器**:根据所使用的应用服务器类型(如Tomcat、WebSphere、WebLogic等),完成相应的配置工作。 6. **测试应用**:...
Tomcat、Jetty等Web服务器可以直接部署WAR文件。 6. EAR文件打包:在企业级Java应用中,常常需要打包成EAR文件,它包含了整个应用程序服务器的部署单元,包括EJB(Enterprise JavaBeans)、WAR文件、库文件等。EAR...
在Tomcat的webapps目录下放置WAR文件或解压后的应用目录,Tomcat会自动部署。应用的配置文件如WEB-INF/web.xml定义了应用的行为和组件。 五、安全管理 Tomcat6.0支持多种安全机制,包括Basic、Digest、Form和SSL/...
- **J2EE应用服务器部署**:通过`ear`或`war`任务,可以将应用打包成标准的J2EE格式并部署到应用服务器,如Tomcat、JBoss或WebLogic。 4. **Ant的最佳实践** - **构建文件的组织结构**:合理划分构建文件,避免过...
Java Web项目的核心在于Servlet容器(如Tomcat、Jetty)和Java EE服务器(如WebLogic、GlassFish),它们需要特定格式的包来运行应用。WAR(Web Application Archive)文件是Java Web应用程序的标准打包格式,用于...
WebLogic Server是一款由甲骨文公司提供的企业级应用服务器,它提供了用于构建、部署和管理分布式Java EE(Java Platform, Enterprise Edition)应用的平台。本话题涵盖了从基础的Java知识到WebLogic特定功能的诸多...
- War方式安装:下载Nexus的War包并部署到Tomcat服务器上。 - 配置中央仓库:配置Nexus连接到Maven Central等公共仓库。 **mavensettings.xml的配置** - **本地仓库配置**:指定本地仓库的位置。 - **镜像配置**...
部署应用程序到远程服务器时,您可以使用 FTP/SFTP 工具手动上传 WAR 文件,或者使用自动化工具如 Ant 脚本来自动部署。另一种方法是使用 MyEclipse 的内置 FTP 功能。一旦部署完成,确保应用程序可以在远程服务器上...
Java Web服务的部署在多容器环境中常常面临挑战,尤其是在需要跨IBM WebSphere Application Server、BEA WebLogic、Tomcat等不同Web应用服务器部署时。由于缺乏一个标准化的“web.xml”部署描述符,适用于多种Web...