Ant 编译javaweb工程 生成不了class

我的天空你的城市 2017-06-08 05:50:12
以下是build.xml

[size=13px]<?xml version="1.0" encoding="UTF-8"?>

<!--
project
根节点,代表一个工程
属性说明:
name 表示工程名称
basedir 表示基准目录(值为”.”代表当前目录,即build.xml所在目录,也可采用绝对路径)
default 表示默认运行的target(当ant命令没有指定target时,会运行default属性中的target)
-->
<project name="jinying" default="build" basedir=".">
<description>Builds,tests, and runs the project.</description>

<!-- java源代码目录 -->
<property name="src.dir" location="src"/>

<!-- web 根目录 -->
<property name="web.root" value="WebRoot" />
<property name="web.WEB-INF" location="${web.root}/WEB-INF" />
<property name="web.lib" location="${web.WEB-INF}/lib" />

<!--定义build目录路径-->
<property name="build.dir" location="WebRoot/WEB-INF"/>
<property name="build.classes.dir" location="${build.dir}/classes"/>
<!-- 打包目录 -->
<property name="build.war" location="${build.dir}/war" />


<!-- 加载环境变量 -->
<property environment="env" />

<!-- web 应用的名字,也是打包后war的名字 -->
<property name="web.name" value="jinying" />


<!-- tomcat根目录 -->
<property name="tomcat.home" location="F:/workspace/2016platformWorkSpace/apache-tomcat-7.0.63" />


<property name="JAVA_HOME" location="D:/ContextApplication/ide/java/jdk1.7.0_79" />
<property name="debuglevel" value="source,lines,vars" />
<property name="target" value="1.7" />
<property name="source" value="1.7" />


<!-- 使用ant编译,在使用到com.sun包下类时,需要指定rt.jar文件的位置 -->
<path id="JAVA.rt">
<pathelement location="${JAVA_HOME}/jre/lib/rt.jar" />
</path>
<!-- 定义编译时的classpath -->
<path id="compile.path" >
<path refid="JAVA.rt" />
<fileset dir="${web.lib}" includes="*.jar"/>
<fileset dir="${tomcat_home}/lib" includes="*.jar"/>
</path>

<!--
target
目标节点,代表着一个构建目标
属性说明:
name 表示目标名称
depends:表示依赖的target。像上例中,dist依赖build,build依赖init,
-->

<target name="clean" description="清理">
<delete dir="${build.classes.dir}" />
<delete dir="${tomcat.home}/wtpwebapps/${web.name}"/>
<delete file="${tomcat.home}/wtpwebapps/${web.name}.war"/>


<echo>=============================================================</echo>
<echo>${build.classes.dir}</echo>
<echo>${tomcat.home}/wtpwebapps/${web.name}</echo>
<echo>${tomcat.home}/wtpwebapps/${web.name}.war</echo>
<echo>清理完成!</echo>
<echo>=============================================================</echo>
</target>

<target name="init" depends="clean" description="初始化">
<mkdir dir="${build.classes.dir}" />
<mkdir dir="${build.war}" />
<echo>创建文件夹:${build.classes.dir}</echo>
<echo>创建文件夹:${build.war}</echo>
<echo>初始化工作结束!</echo>
<echo>=============================================================</echo>
</target>


<target name="build" depends="init" description="编译">
<javac
srcdir="${src.dir}" destdir="${build.classes.dir}"
classpathref="compile.path"
includeantruntime="false"
debug="true" debuglevel="${debuglevel}"
source="${source}" target="${target}"
encoding="UTF-8">
<!-- <src path="${src.dir}" />
<classpath refid="compile.path" /> -->
</javac>
<copy todir="${build.classes.dir}">
<fileset dir="${src.dir}" includes="**/*.*" excludes="**/*.java">
<include name="**/*.xml"/>
</fileset>
</copy>

<echo>编译存放路径:${build.classes.dir}</echo>
<echo>原JDK:${source}</echo>
<echo>编译成JDK:${target}</echo>
<echo message="编译完成!" />
<echo>=============================================================</echo>
</target>

<target name="war" depends="build" description="打包war文件">
<war destfile="${build.war}/${web.name}.war">
<fileset dir="${web.root}" includes="**/*.*" />
<lib dir="${web.lib}" />
<webinf dir="${web.WEB-INF}" />
<classes dir="${build.classes.dir}" />
</war>
<echo>打包完成!</echo>
</target>

<target name="deploy" depends="war" description="发布">
<copy todir="${env.tomcat_home}/wtpwebapps">
<fileset dir="${build.war}" includes="*.war" />
</copy>
<echo>已发布到Tomcat!</echo>
</target>

<target name="testenv" description="测试环境变量">
<echo>JAVA_HOME:${env.JAVA_HOME}</echo>
<echo>CLASSPATH:${env.CLASSPATH}</echo>
</target>



</project>
[/size]

编译过程
Buildfile: F:\workspace\2016platformWorkSpace\jinying\build.xml
clean:
[delete] Deleting directory F:\workspace\2016platformWorkSpace\jinying\WebRoot\WEB-INF\classes
[echo] =============================================================
[echo] F:\workspace\2016platformWorkSpace\jinying\WebRoot\WEB-INF\classes
[echo] F:\workspace\2016platformWorkSpace\apache-tomcat-7.0.63/wtpwebapps/jinying
[echo] F:\workspace\2016platformWorkSpace\apache-tomcat-7.0.63/wtpwebapps/jinying.war
[echo] 清理完成!
[echo] =============================================================
init:
[mkdir] Created dir: F:\workspace\2016platformWorkSpace\jinying\WebRoot\WEB-INF\classes
[echo] 创建文件夹:F:\workspace\2016platformWorkSpace\jinying\WebRoot\WEB-INF\classes
[echo] 创建文件夹:F:\workspace\2016platformWorkSpace\jinying\WebRoot\WEB-INF\war
[echo] 初始化工作结束!
[echo] =============================================================
build:
[echo] 编译存放路径:F:\workspace\2016platformWorkSpace\jinying\WebRoot\WEB-INF\classes
[echo] 原JDK:1.7
[echo] 编译成JDK:1.7
[echo] 编译完成!
[echo] =============================================================
BUILD SUCCESSFUL
Total time: 528 milliseconds

编译结果
F:\workspace\2016platformWorkSpace\jinying\WebRoot\WEB-INF\classes 目录下class文件没生成
...全文
148 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧