在Ant中使用javac命令,抛出的java.lang.OutOfMemoryError错误和一般java应用抛出这个错误没两样。当执行JDK的javac命令,都是调用%JAVA_HOME%\lib\tools.jar包中com.sun.tools.javac.main.Main类。
一般出现这个问题都是虚拟机分配的内存不够用。针对Ant,我调查了一番可以通过以下两种方法解决:
1)在javac节点处设置fork属性,同时指定memoryinitialsize、memorymaximumsize属性。例:
Xml代码
<javac fork="true" srcdir="${basedir}/src" destdir="${basedir}/build/classes" classpath="${project.classpath}" memoryinitialsize="256m" memorymaximumsize="256m"></javac>
说明:
-fork:没有指定fork属性(默认为false),javac命令将和ant在同一个进程中执行,同时javac被分配的内存只有64MB,如果指定fork属性为true,javac命令将和ant不在同一个进程中执行,分配内存的大小将为memoryinitialsize、memorymaximumsize指定的大小。
-memoryinitialsize:javac占用的最小内存。
-memorymaximumsize:javac占用的最大内存。
2) 第二种方法不用修改build.xml文件,通过在Ant执行时,指定虚拟机的内存来解决,不过这样ant和javac还将在同一个进程中执行,具体方法在[ANT_HOME]\bin\ant.bat文件中增加set ANT_OPTS="-Xms256m -Xmx256m" 。
如果上面两种方法都不能解决,那就只能是物理内存太小,那只能有两种方法解决这个问题,其一就是最简单的方法扩大内存,其二将工程的源文件分包编译,不过这样很麻烦,但也不乏是一种解决方法。
分享到:
相关推荐
- **社区活跃**:作为一个成熟的项目,Ant拥有活跃的社区和丰富的资源,可以轻松找到解决方案和支持。 #### 三、Ant与Make的比较 虽然Ant和Make都是用于构建的工具,但它们之间存在一些关键的区别: - **适用范围...
它被广泛应用于Java项目的构建,替代了早期的make工具,提供了更为灵活和平台无关的构建解决方案。Ant以其XML为基础的构建文件(build.xml)著称,允许开发者定义任务、目标和依赖关系,使得项目构建过程可配置且...
Apache Ant,作为一款高效的任务执行框架,是Java开发者在构建应用程序时不可或缺的工具。它以其灵活性、可扩展性..."ant.rar"提供的版本让用户可以直接在本地环境中快速搭建和使用Ant,从而更便捷地进行软件开发工作。
在Java开发环境中,Ant替代了传统的Makefile,提供了一种跨平台的解决方案。 在“ant入门小实例练习”中,我们可以探索Ant的基本用法和核心概念。首先,你需要了解Ant的配置文件`build.xml`,这是整个构建过程的...
在项目中,Ant 的主要作用是将源代码和其他资源转换成可执行的JAR文件、WAR文件或可安装的软件包。 1. Ant 的基本概念 - **构建文件(Buildfile)**:Ant 的核心是 build.xml 文件,它定义了一系列任务和目标...
2. 如何配置Ant构建文件以集成SVN:包括引入svn task库,设置svn相关的属性,以及在Ant脚本中调用SVN命令。 3. 使用Ant进行构建和部署的步骤:解释如何运行Ant脚本,以及如何将生成的WAR包部署到Web服务器。 4. 版本...
通常,这个压缩包会包含Ant的可执行文件、库文件、文档和其他必要的资源,供用户在本地安装和使用。解压后,开发者可以通过设置ANT_HOME环境变量,并将bin目录添加到PATH环境变量中,来使命令行能够直接调用Ant命令...
Ant的设计理念是“简单就是美”,它的目标是替代Make这样的传统构建工具,提供更符合Java环境的解决方案。 在“ant打包Web工程”的过程中,主要涉及以下几个步骤和知识点: 1. **配置build.xml**:`build.xml`是...
在本教程中,我们将深入探讨Ant的基本概念、核心组件以及如何在实际项目中使用它。 首先,让我们理解Ant的核心概念。Ant基于任务驱动,每个任务都是执行特定动作的单元,如复制文件、编译源代码等。这些任务可以...
Ant是Java开发项目中的重要工具,尤其在没有IDE(集成开发环境)的情况下,它提供了构建和部署应用的自动化解决方案。Ant基于XML,通过定义目标(tasks)和依赖关系来描述构建过程。 1. **XML构建文件**:Ant的核心...
5. **集成性**:Ant可以与其他Java工具,如Maven、Gradle等,以及持续集成服务器(如Jenkins)无缝集成,提供更全面的项目管理解决方案。 在实际应用中,Ant的使用通常涉及以下几个关键知识点: 1. **构建文件**:...
压缩包中的"ant 1.10.11.jar"文件很可能是Ant的可执行jar文件,包含所有必需的类和资源,开发者可以通过Java的`java -jar`命令来运行Ant,执行构建任务。 总结起来,Apache Ant 1.10.11是一个强大的Java项目自动化...
9. **文件集(Filesets)**:ANT的文件集允许你选择一组文件,这些文件可以是任何匹配特定模式的文件,然后在任务中使用。 10. **编译配置**:可以通过ANT配置编译参数,如源代码和目标代码的兼容性级别,是否启用...
对于希望在 Java 项目中实现自动化构建流程的开发者而言,Apache Ant 提供了一种高效且灵活的解决方案。 二、为何需要构建工具? 在深入探讨 Apache Ant 之前,首先需要理解构建工具存在的必要性。想象一下,如果你...
总结来说,Ant通过其强大的`build.xml`配置文件和丰富的task集合,为Java项目的构建、测试和部署提供了全面的自动化解决方案。通过理解和应用上述知识点,开发者能够更高效地管理和优化项目构建流程。
1. **安装与配置Ant**:首先,你需要下载并安装Ant,将其添加到系统路径中,以便在命令行中使用ant命令。然后,你可以通过编写简单的build.xml文件,验证Ant是否安装成功。 2. **build.xml结构**:理解build.xml...
- **验证 Java 编译器**:在命令提示符中输入`javac`,如果显示编译器的帮助信息,则表示配置成功。 - **验证 Maven 版本**:在命令提示符中输入`mvn -v`,如果能正确显示Maven版本信息,则表示配置成功。 ### 五、...
JBuild通过读取配置文件,指定源代码目录和目标目录,自动执行javac命令,将源代码编译成字节码。同时,JBuild还可以设置编译选项,如处理警告、使用特定版本的JDK等。 2. 实例02:依赖管理 在实际项目中,往往需要...
- 在Path环境中添加`%JAVA_HOME%\bin`,确保命令行能够识别`java`和`javac`等命令。 3. **配置Eclipse**: - 打开Eclipse后,在“Window”菜单中选择“Preferences”。 - 在弹出的窗口中选择“Java”>“Installed...
在IT行业中,Java应用程序的打包通常采用JAR(Java Archive)格式,这是一种将类文件、资源文件和其他元数据集合在一起的文件容器。标题提到的"修改Jar包工具"是指在遇到代码冲突或需要定制化某些功能时,我们需要对...