【发布时间】:2012-05-17 13:23:32
【问题描述】:
在我的java web项目中,有<T>之类的代码,在ant脚本中,javac使用JDK编译java代码,编译不成功。
后来,我知道它必须使用eclipse JDT来编译。
而且,在eclipse中,ant脚本可以运行成功。当这样运行时:
右键点击build.xml ---> Run ---> Run as ---> External Tools Configurations,点击JRE,选择“Run in the same JRE as the workspace”。
之后,ant就可以运行成功了,在eclipse中。
但是,我想编写一个 .bat 和 .sh 文件来调用 ant 脚本,来编译、war、部署和启动 Tomcat。 所以,蚂蚁应该从命令运行。我尝试了更多,总是发生错误: 找不到类:org.eclipse.jdt.core.JDTCompilerAdapter
PS,我已经将eclipse插件中JDT的jar文件复制到ant_home/lib目录下。
希望得到您的回应。提前致谢!
构建.xml
`
<tstamp>
<format property="build.time" pattern="yyyy-MM-dd" />
</tstamp>
<path id="project.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${catalina.home}/lib">
<include name="*.jar" />
</fileset>
<fileset dir="${ant.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<target name="clear">
<delete dir="${build.dir}" />
<delete dir="${dist.dir}" />
<delete file="${catalina.home}/webapps/${webapp.name}.war" />
<delete dir="${catalina.home}/webapps/${webapp.name}" />
</target>
<target name="init" depends="clear">
<mkdir dir="${build.dir}/classes" />
<mkdir dir="${dist.dir}" />
</target>
<target name="compile" depends="init">
<echo message="begin compile..." />
<javac srcdir="${src.dir}" destdir="${build.dir}/classes"
includeantruntime="false" nowarn="on"
source="1.6" target="1.6" deprecation="true" debug="true"
encoding="UTF-8" classpathref="project.classpath">
<compilerarg line="-Xlint:unchecked" />
</javac>
<copy todir="${build.dir}">
<fileset dir="${src.dir}">
<include name="**/*.xml" />
<include name="**/*.properties" />
<include name="**/*.sql" />
</fileset>
<fileset dir="${config.dir}">
<include name="**/*.xml" />
<include name="**/*.properties" />
<include name="**/*.sql" />
</fileset>
</copy>
<echo message="end compile..." />
</target>
<target name="war" depends="compile">
<echo message="begin war..." />
<war destfile="${dist.dir}/${webapp.name}.war" basedir="${webRoot.dir}"
webxml="${webRoot.dir}/WEB-INF/web.xml">
<lib dir="${lib.dir}" />
<classes dir="${build.dir}/classes" />
<fileset dir="${webRoot.dir}">
<include name="***.*" />
</fileset>
</war>
<echo message="end war..." />
</target>
<target name="deploy" depends="war">
<echo message="begin deploy..." />
<copy file="${dist.dir}/${webapp.name}.war" todir="${catalina.home}/webapps" />
<echo message="end deploy..." />
</target>
</project>
`
【问题讨论】:
-
上面的脚本遗漏了很多。
<?xml version="1.0" encoding="UTF-8"?> <project name="lmsx" default="deploy" basedir="D:/workspace/lms"> <property environment="env" /> <property name="webapp.name" value="lms" /> <property name="catalina.home" value="D:/developer/apache-tomcat-6.0.32" /> <property name="dist.dir" value="${basedir}/dist" /> <property name="ant.dir" value="D:/developer/apache-ant-1.8.3" /> -
`
`
标签: java ant eclipse-jdt