转---JavaWeb配置 运用Ant编译Eclipse项目

  • Eclipse 里面ant编译解决办法:


/运用Ant编译Eclipse项目
//Ant学习
这里,我们的目标是以Eclipse创建一个新的Java项目,运用Ant来编译,并将最后的.class文件存储在JAR文件中。
1.先创建一个JAVA项目
比如创建了一个Ch05_02的项目,项目中只有如下一个类:
package org.eclipsebook.ch05;

public class Ch05_02 {


public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("This code was built using Ant.");
  
}

}
2.对“Package Explorer”视图中的项目按鼠标右键,选“New”->“File”选项来创建build.xml文件。在“File Name”字段中输入

“build.xml”,点击“Finish”按钮,创建build.xml完毕。
3.写“build.xml”文件。我们要创建对应到即将使用的目录的诸多属性(property):src、bin、一个放JAR文件的目录jardir(我们会在bin

目录下建一个lib目录来存储JAR文件)、JAR文件本身jarfile(我们称此文件为Ch05_02.jar)。依次发设定这些属性,可以让你在此编译文件

中的其他地方,以此引用这些目录名称。我们也会设定build.compiler的属性,指向Ant日后会使用的JDT编译器的适配器(adapter)--

org.eclipse.jdt.core.JDTCompilerAdapter。
build.xml完整内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="Ch05_02" default="Main Build" basedir=".">
<property name="bin" location="bin"/>
<property name="src" location="src"/>
<property name="jardir" location="${bin}/lib"/>
<property name="jarfile" location="${jardir}/Ch05_02.jar"/>
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>


<target name="Main Build" depends="Initialize,Compile,Jar">
    <echo message="Ant at work!"/>
</target>


<target name="Initialize">
    <delete dir="${bin}"/>
    <delete dir="${jardir}"/>
    <mkdir dir="${bin}"/>
    <mkdir dir="${jardir}"/>
</target>


<target name="Compile" depends="Initialize">
    <javac srcdir="${src}" destdir="${bin}">
    </javac>
</target>

 
<target name="Jar" depends="Initialize,Compile">
    <jar destfile="${jarfile}" basedir="${bin}"/>
</target>

</project>
以上就是build.xml。

但是你直接选定项目中build.xml并单击鼠标右键,选“Run As -- Ant Build”选项,会报告一个“Class not found:

org.eclipse.jdt.core.JDTCompilerAdapter”。这时你需要选“Run As -- Ant Build...”选项,在弹出的对话框中选择“JRE”选项卡,在

“Runtime JRE”栏中选择“Run in the same JRE as the workspace”,此时就能用Ant成功编译Eclipse工程了。这也许不是最好的方法,需

要大家共同探索



  • Ant 编译解决办法:


我们经常使用ant来编译我们的Eclipse项目,但有时ant中javac任务往往只能编译一部分代码。当代码有编译错误时,ant就停止编译,不再继续编译剩下的代码。这种方式给一些单元测试或者脚本类的工程带来了麻烦,因为这类工程中的错误往往只是一个脚本的语法问题,并不影响其他脚本。所以这类工程希望尽可能多的编译全部代码,而不是因为一个编译错误而停止。


但我们在Eclipse里面编译工程时,却没有这样的问题,Eclipse将会把所有的代码都编译一遍,最后显示所有的错误。这是因为这时编译的是Eclipse自己实现的Java编译器。我们可以利用Eclipse自带的编译器,改进我们的ant脚本。

实现起来很简单:
1. 在ant脚本中加入一行:
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
如果javac任务中有这么一行,则删之:
compiler="javac1.5"

2. 下载ecj.jar,可以从http://download.eclipse.org/eclipse/downloads/下载,选择eclipse的版本号,然后在" JDT Core Batch Compiler"这个类别中就可以下载对应版本的ecj.jar了。

3. 运行ant命令,加上如下参数:
ant -f build.xml -lib ecj.jar

4. 如果遇到OutOfMemory的错误在编译过程中,则加上如下的环境变量:
set ANT_OPTS=-Xmx1024m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值