flexant編譯
1. 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>
2. 有用過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'" />
3. ant編譯老是不成功,請教高手!!
如果你的文件名字是build.xml的話,在命令提示符中只需輸入ant即可
不要用ant build
假如文件的名字不是build.xml而是其他的,比如name.xml,要運行的話就得這樣輸入命令 ant buildfile name.xml
4. 如何使用Ant來編譯Java文件以及如何運行
一、源文件情況
源文件位置為:D:\temp,源文件名(含包名字):com.ldq.WeatherDemo.java
前提:已安裝 jdk ,並配置好環境變數。
二、過程
1、編譯:
提示符進入 D:\temp 路徑下,輸入:javac com\ldq\WeatherDemo.java
生成類文件:WeatherDemo.class
2、打包:
提示符進入 D:\temp 路徑下,輸入:jar cvf WeatherDemo.jar com\ldq\WeatherDemo.class
生成檔案文件:WeatherDemo.jar
3、修改 MANIFEST.MF 文件:
由於引用了外部的類,所以要添加引用類的路徑,即修改MANIFEST.MF文件。保存如下內容到 D:\temp下,文件名 MANIFEST.MF
Manifest-Version: 1.0
Sealed: true
Main-Class: com.ldq.WeatherDemo
Class-Path: lib/jaxrpc.jar lib/log4j-1.2.8.jar lib/mail.jar lib/saaj.jar lib/tools.jar lib/wsdl4j-1.5.1.jar lib/activation.jar lib/axis.jar lib/axis-ant.jar lib/commons-discovery-0.2.jar lib/commons-logging-1.0.4.jar
注意在後面空兩行。
提示符進入 D:\temp 路徑下,輸入:jar umf MANIFEST.MF WeatherDemo.jar
執行時會提示更新的內容。
4、添加包含引用類的相應文件:
在 D:\temp 路徑下,新建 lib 文件夾,講對應的 jaxrpc.jar ... 拷入其中,此時,即可雙擊(或在提示符下輸入:java -jar WeatherDemo.jar)運行 WeatherDemo.jar 文件了。
三、總結
雙擊運行 jar 文件時,虛擬機會到 jar 文件中下找 .MF 文件,找到對應的 Main-Class 運行,引入的類在 Class-Path 所指路徑。
事實上可以利用 winrar或winzip 工具打開 jar 文件,直接將修改好的 MANIFEST.MF 拷入覆蓋,class文件也可以做同樣的操作,節省了輸入復雜難記的命令。另外,對於 javaME 生成的 jar 文件,限制嚴格些,MANIFEST.MF 文件中有個文件大小的欄位,可以先保存,查看文件大小,再修改保存。
另一種方法是通過 Eclipse - Export - Runnable JAR file 直接生成 jar 文件,此時,所有的引用類都被打包在 jar 文件里了。
5. 如何用Flex Ant Task編譯Flex工程 (轉)
<delete dir="${FLEX_DEPLOY_DIR}" /返岩
<mkdir dir="${FLEX_DEPLOY_DIR}"握廳 /
</段世隱target
6. ant編譯報錯的問題
不是代碼的問題,是你引包出現的問題。給的報錯已經很明顯了,EntityDaoHibernate類和EntityDaoHibernate類都有findByHql方法,且簽名相同。檢查你javac標簽下的classpath有沒有引錯包。
7. ant怎麼編譯帶有依賴關系的類
1.所有的類一起編譯。
2.你的父添加到classpath中。
3.ant 中添加 classpath 下邊是例 子。
<javac destdir="${classes.dir}" srcdir="${src.dir}" encoding="UTF-8">
<classpath refid="classespath" />
</javac>
8. 翻譯 vvv
JW播放器免費用於非商業性質的用途的,如果你想要為判談扒用作商業用途買一個許可證,可訪問www. longtailvideo. com/players/order.
你需要侍塌以下軟體才能安裝好JW播放器(就是下面三行英文的內容)
要用Flex和Ant編譯,進入下面的指令ant -buildfile build\build.xml
如果安裝成功,player.swf會出現在bin-release文件夾
另一種可能,如果你正在使用Flex Builder or Flash Builder,你最好運用以下的方法去安裝播放器:
1, 創建一個新的腳本項目(命名掘昌時除了Player都可以)
2,在Project Contents下,選擇checkout tree(這是README文件所在的文件夾)
3,單機「Finish」結束按鈕
4,選擇你的總應用欄以便於從com.longtailvideo.jwplayer.player.Player.繼承
5,在「project」目錄里,選擇Export Release Build
6,這個播放器就將以你命名的項目名字被編譯
9. 如何使用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>