當前位置:首頁 » 編程軟體 » ant編譯mxmlc

ant編譯mxmlc

發布時間: 2023-05-15 09:07:33

1. ant怎麼編譯帶有依賴關系的類

1.所有的類一起編譯。
2.你的父添加到classpath中。
3.ant 中添加 classpath 下邊是例 子。
<javac destdir="${classes.dir}" srcdir="${src.dir}" encoding="UTF-8">
<classpath refid="classespath" />
</javac>

2. ant編譯build.xml文件

折騰了大半天,可算搗騰出來了,這里需要提醒注意如下幾點:

1、如果jdk是1.6及以下,則需要使用的ant版本是1.9.x;

2、如果jdk是1.8,則需要使用ant版本是1.10.x;

3、可用eclipse導出war包,將lib目錄下的jar包放到一個目錄下,然後直接引用,避免遺漏掉jar包沒導入進去。

以下是build.xml文件內容,安裝好ant後,直接執行ant build.xml即可打包。

<?xml version="1.0" encoding="UTF-8"?>

<!-- 定義一個工程,默認任務為warFile。 -->

<project name="bing-info" default="warFile" basedir=".">

    <!-- 指定jdk 貌似這里指定也沒什麼用~-->

    <property name="env.JAVA_HOME" value="C:/Program Files/Java/jdk1.8.0_101"/>

    <!-- 定義屬性,打成war包的名稱。 -->

    <property name="warFileName" value="nbAPP.war"></property>

    <!-- 指定war包路徑及依賴包路徑   這里需要指定工程的路徑 -->

    <property name="compilePath" value="D:/project/nbAPP"/>

    <!-- 定義路徑,編譯java文件時用到的jar包。 -->

    <path id="project.lib">

        <fileset dir="${basedir}/lib">

            <include name="**/*.jar"/>

        </fileset>

    </path>

    <!-- 定義任務,清空任務:清空原有的class文件,創建新的build路徑。 -->

    <target name="clean">

        <delete dir="${compilePath}/build" />

        <mkdir dir="${compilePath}/build" />

    </target>

    <!-- 定義任務,編譯src文件夾中的java文件,編譯後的class文件放到創建的文件夾下。 -->

    <target name="compile" depends="clean">

        <javac srcdir="${basedir}/src/main" debug="true" includeantruntime="false" encoding="UTF-8" >

            <classpath refid="project.lib">

            </classpath>

        </javac>

    </target>

    <!-- 定義默認任務,將class文件集合成jar包。 -->

    <target name="warFile" depends="compile">

        <!-- 刪除原有war包。 -->

        <delete dir="${compilePath}/${warFileName}" />

        <!-- 建立新war包。 -->

        <war destfile="${compilePath}/${warFileName}" webxml="${basedir}/WebRoot/WEB-INF/web.xml">

            <!-- 將非jar和非class文件拷貝到war包的對應路徑下。 -->

            <fileset dir="${basedir}/WebRoot">

                <include name="**/**.*" />

                <exclude name="**/*.jar"/>

                <include name="WEB-INF/classes/**"/>

            </fileset>

            <!-- 將jar和class文件拷貝到war包的對應路徑下。 -->

            <lib dir="${compilePath}/lib" />

            <classes dir="${compilePath}/build" />

            <!-- 將資源文件拷貝進war對應路徑下 -->

            <classes dir="${basedir}/src/main/resources" />

        </war>

    </target>

</project>

3. 有用過ant自動編譯flex項目的嗎

偶然編譯一個開源as3(採用flex sdk——採用flex4.6)項目,由ant配置進行自動編譯,想增加特性,需要在原有編譯預定義全局常量(由-define=XXX:NNNN,VVVV 形式定義)基礎上需要增加參數,如原來只有XXX:NNNN1,VVVV1 現在想還有XXX:NNNN2,VVVV2 。
原來的項目採用的是ant exec 直接調用mxmlc命令行進行編譯(可以不依賴於flex的flexTasks限制),其調用mxmlc傳入參數(傳入的參數是字元串值)採用如下方式

點擊(此處)折疊或打開
<exec executable="${mxmlc.exe}" dir="${basedir}" failonerror="true">

<arg line="'${src.dir}/${package}/${class}.as'" />

...

<arg line="-define=XXXX::nnnn1,'vvv1'" />

</exec>
當然現在編譯是成功的,我依葫蘆畫瓢改寫成

點擊(此處)折疊或打開
<exec executable="${mxmlc.exe}" dir="${basedir}" failonerror="true">

<arg line="'${src.dir}/${package}/${class}.as'" />

...

<arg line="-define=XXXX::nnnn1,'vvv1'" />

4. 如何使用ANT在命令行進行編譯和測試

一、環境變數
在網上找到ANT的壓縮包,解壓縮以後放到C盤根目錄如下圖

對,就是這個鬼樣子,放在這里就可以用了,不用安裝之類的
環境變數如下圖:

你要定義ANT_HOME,然後讓系統path找到這個ANT_HOME就行了

二、寫build.xml

你的目錄結構如下圖:

源文件 放在src
引用的jar包放在lib
編譯結果安排在classes

接下來就是build.xml了
如下,自己看吧

[html] view plain
<?xml version="1.0"?>
<project name="pojo_0428" default="prepare" basedir=".">

<property name="source.root" value="src"/>
<property name="class.root" value="classes"/>
<property name="lib.dir" value="lib"/>

<!-- class path for compilation and execution -->
<path id="basepath">
<!-- 運行時 class文件的位置 -->
<pathelement location="${class.root}" />
<!-- jar包 -->
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>

<!--默認的target -->
<target name="prepare">
<delete dir="${class.root}"/>
<mkdir dir="${class.root}"/>
</target>

<!--編譯 -->
<target name="compile" depends="prepare">
<javac srcdir="${source.root}"
destdir="${class.root}"
debug="on"
optimize="off"
deprecation="on">
<classpath refid="basepath"/>
</javac>
</target>
<!--執行。 案常式序的入口 依賴 compile -->
<target name="run" depends="compile">
<java classname="com.javathink.Student" fork="true">
<classpath refid="basepath"/>
</java>
</target>

</project>

5. java ant 編譯問題

從錯誤上看是由於ant編譯時虛擬機內存不足導致溢出,你可以試試下面的方法:
打開菜單Window>Preference>Java>Installed JREs
轉鍾默認的jre,點擊edit,在Default VM Arguments中輸入-Xms256m -Xmx512m
重新啟動myeclipse再試試

熱點內容
phpapachetomcat 發布:2025-07-14 01:08:41 瀏覽:122
伺服器運維看什麼書 發布:2025-07-14 01:07:32 瀏覽:988
密碼器動態密碼怎麼弄 發布:2025-07-14 00:44:27 瀏覽:386
小米怎麼把視頻加密 發布:2025-07-14 00:42:59 瀏覽:406
在線申訴找回密碼根本什麼都沒有 發布:2025-07-14 00:41:22 瀏覽:306
拉新用什麼安卓手機可以 發布:2025-07-14 00:41:19 瀏覽:418
androidhome鍵退出 發布:2025-07-14 00:30:03 瀏覽:506
我都世界模組反編譯教程 發布:2025-07-14 00:29:45 瀏覽:646
法因數控鑽床編程手冊 發布:2025-07-14 00:18:26 瀏覽:490
gcc編譯怎麼知道錯誤的行數 發布:2025-07-14 00:06:21 瀏覽:383