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

ant編譯java

發布時間: 2023-01-21 19:44:47

❶ 怎麼讓ant工具能夠按目錄結構編譯java文件

在build.properties文件裡面定義路徑,在build.xml裡面可以直接指定的
例如:
build.properties中定義
source.dir=./a:/sources
class.dir=./b:/classes
build.xml

<targetname="compile"depends="clean"description="編譯">
<mkdirdir="${class.dir}"/>
<javacsrcdir="${source.dir}"
destdir="${class.dir}"
classpath=""
nowarn="true"
encoding="Windows-31j"
debug="on"/>
<todir="${class.dir}">
<filesetdir="${class.dir}">
<includename="**/*.java
</fileset>
</>
</target>

❷ 使用Ant在編譯java類的時候出現以下錯誤,請問是什麼原因呢應該如何解決

泛型類型,javac編譯出錯,加-source1.5
泛型從1.5以後開始有C:>javac
用法:javac<options><sourcefiles>
其中,可能的選項包括:
-g生成所有調試信息
-g:none不生成任何調試信息
-g:{lines,vars,source}只生成某些調試信息
-nowarn不生成任何警告
-verbose輸出有關編譯器正在執行的操作的消息
-deprecation輸出使用已過時的API的源位置
-classpath<路徑>指定查找用戶類文件和注釋處理程序的位置
-cp<路徑>指定查找用戶類文件和注釋處理程序的位置
-sourcepath<路徑>指定查找輸入源文件的位置
-bootclasspath<路徑>覆蓋引導類文件的位置
-extdirs<目錄>覆蓋所安裝擴展的位置
-endorseddirs<目錄>覆蓋簽名的標准路徑的位置
-proc:{none,only}控制是否執行注釋處理和/或編譯。
-processor<class1>[,<class2>,<class3>...]要運行的注釋處理程序的名稱;繞過默認的搜索進程
-processorpath<路徑>指定查找注釋處理程序的位置
-parameters生成元數據以用於方法參數的反射
-d<目錄>指定放置生成的類文件的位置
-s<目錄>指定放置生成的源文件的位置
-h<目錄>指定放置生成的本機標頭文件的位置
-implicit:{none,class}指定是否為隱式引用文件生成類文件
-encoding<編碼>指定源文件使用的字元編碼
-source<發行版>提供與指定發行版的源兼容性
-target<發行版>生成特定VM版本的類文件
-profile<配置文件>請確保使用的API在指定的配置文件中可用
-version版本信息
-help輸出標准選項的提要
-A關鍵字[=值]傳遞給注釋處理程序的選項
-X輸出非標准選項的提要
-J<標記>直接將<標記>傳遞給運行時系統
-Werror出現警告時終止編譯
@<文件名>從文件讀取選項和文件名

❸ java web項目開發,用ant將java文件編譯為class文件和直接在Eclipse運行java文件編譯成class,有什麼區別

沒有任何區別。ant是自動化編譯工具,而Eclipse作為IDE,也可以幫助你自動化編譯。編譯的過程都是調用了你安裝的JDK中的java編譯器

❹ 如何使用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 文件里了。

❺ ant編譯java文件時報錯

大小寫不對?
fork="true" memoryInitialSize ="512M" memoryMaximumSize ="1024M"

還有fork="true" 是指定一個單獨的編譯器,你要確定你的javac.exe存在,可以用executable="/yourpath"指定你編譯器的路徑

❻ 用ant編譯java的問題

我編譯都是這么整:
<target name="build" description="Compile main source tree java files">
<mkdir dir="$"/>
<javac destdir="$" source="1.5" target="1.5" debug="true"
deprecation="false" optimize="false" failonerror="true">
<src path="$"/>
<classpath refid="master-classpath"/>
</javac>
</target>
給你一個建議,ant的具體用法是不需要太深入的了解,會讀會用會改會,就能基本應付工作中所有問題了。我以前還是自己寫ant,到後來發現沒什麼必要,現在用的ant就是從hibernate中幫助文檔里找來的,功能很全面,常用的都有了。

<?xml version="1.0"?>

<project name="springmvc" basedir="." default="usage">
<property file="build.properties"/>

<property name="src.dir" value="src"/>
<property name="web.dir" value="war"/>
<property name="build.dir" value="$/WEB-INF/classes"/>
<property name="name" value="springmvc"/>

<path id="master-classpath">
<fileset dir="$/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
<!-- We need the servlet API classes: -->
<!-- * for Tomcat 5/6 use servlet-api.jar -->
<!-- * for other app servers - check the docs -->
<fileset dir="$">
<include name="servlet*.jar"/>
</fileset>
<pathelement path="$"/>
</path>

<target name="usage">
<echo message=""/>
<echo message="$ build file"/>
<echo message="-----------------------------------"/>
<echo message=""/>
<echo message="Available targets are:"/>
<echo message=""/>
<echo message="build --> Build the application"/>
<echo message="deploy --> Deploy application as directory"/>
<echo message="deploywar --> Deploy application as a WAR file"/>
<echo message="install --> Install application in Tomcat"/>
<echo message="reload --> Reload application in Tomcat"/>
<echo message="start --> Start Tomcat application"/>
<echo message="stop --> Stop Tomcat application"/>
<echo message="list --> List Tomcat applications"/>
<echo message=""/>
</target>

<target name="build" description="Compile main source tree java files">
<mkdir dir="$"/>
<javac destdir="$" source="1.5" target="1.5" debug="true"
deprecation="false" optimize="false" failonerror="true">
<src path="$"/>
<classpath refid="master-classpath"/>
</javac>
</target>

<target name="deploy" depends="build" description="Deploy application">
< todir="$/$" preservelastmodified="true">
<fileset dir="$">
<include name="**/*.*"/>
</fileset>
</>
</target>

<target name="deploywar" depends="build" description="Deploy application as a WAR file">
<war destfile="$.war"
webxml="$/WEB-INF/web.xml">
<fileset dir="$">
<include name="**/*.*"/>
</fileset>
</war>
< todir="$" preservelastmodified="true">
<fileset dir=".">
<include name="*.war"/>
</fileset>
</>
</target>

<!-- ============================================================== -->
<!-- Tomcat tasks - remove these if you don't have Tomcat installed -->
<!-- ============================================================== -->

<path id="catalina-ant-classpath">
<!-- We need the Catalina jars for Tomcat -->
<!-- * for other app servers - check the docs -->
<fileset dir="$">
<include name="catalina-ant.jar"/>
</fileset>
</path>

<taskdef name="install" classname="org.apache.catalina.ant.InstallTask">
<classpath refid="catalina-ant-classpath"/>
</taskdef>
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
<classpath refid="catalina-ant-classpath"/>
</taskdef>
<taskdef name="list" classname="org.apache.catalina.ant.ListTask">
<classpath refid="catalina-ant-classpath"/>
</taskdef>
<taskdef name="start" classname="org.apache.catalina.ant.StartTask">
<classpath refid="catalina-ant-classpath"/>
</taskdef>
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask">
<classpath refid="catalina-ant-classpath"/>
</taskdef>

<target name="install" description="Install application in Tomcat">
<install url="$"
username="$"
password="$"
path="/$"
war="$"/>
</target>

<target name="reload" description="Reload application in Tomcat">
<reload url="$"
username="$"
password="$"
path="/$"/>
</target>

<target name="start" description="Start Tomcat application">
<start url="$"
username="$"
password="$"
path="/$"/>
</target>

<target name="stop" description="Stop Tomcat application">
<stop url="$"
username="$"
password="$"
path="/$"/>
</target>

<target name="list" description="List Tomcat applications">
<list url="$"
username="$"
password="$"/>
</target>

<!-- End Tomcat tasks -->

<property name="test.dir" value="test"/>

<target name="buildtests" description="Compile test tree java files">
<mkdir dir="$"/>
<javac destdir="$" source="1.5" target="1.5" debug="true"
deprecation="false" optimize="false" failonerror="true">
<src path="$"/>
<classpath refid="master-classpath"/>
</javac>
</target>

<target name="tests" depends="build, buildtests" description="Run tests">
<junit printsummary="on"
fork="false"
haltonfailure="false"
failureproperty="tests.failed"
showoutput="true">
<classpath refid="master-classpath"/>
<formatter type="brief" usefile="false"/>

<batchtest>
<fileset dir="$">
<include name="**/*Tests.*"/>
</fileset>
</batchtest>

</junit>

<fail if="tests.failed">
tests.failed=$
***********************************************************
***********************************************************
**** One or more tests failed! Check the output ... ****
***********************************************************
***********************************************************
</fail>
</target>
<!-- clean -->
<target name="clean" description="Clean output directories">
<delete>
<fileset dir="$">
<include name="**/*.class"/>
</fileset>
</delete>
</target>

<target name="undeploy" description="Un-Deploy application">
<delete>
<fileset dir="$/$">
<include name="**/*.*"/>
</fileset>
</delete>
</target>
</project>

❼ java ant 編譯問題

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

❽ Ant 用javac編譯時怎樣指定jdk的版本

  1. 可以使用javac命令javac命令格式及用法如下:
    用法:javac <選項> <源文件>
    其中,可能的選項包括:
    -source <版本> 提供與指定版本的源兼容性
    -target <版本> 生成特定 VM 版本的類文件 例如:C:>javac -source 1.5 -target 1.5 p100Sum.java這樣就把p100Sum.java源文件兼容的編譯成1.5版本了

  2. <javacfork="true"
    executable="C:/j2sdk1.4.2_05/bin/javac"
    source="1.4"
    memoryInitialSize="512m"
    memoryMaximumSize="1024m"
    classpathref="path.id.classpath"
    srcdir="${src}"
    destdir="${classes}"
    debug="true"
    deprecation="on"
    optimize="off"
    />

    source處填版本號

❾ Ant運行java類問題,怎麼解決

ant有<javac>標簽可以編譯java文件,<java>標簽運行class文件,<jar>標簽打包java文件。例如

<javacsrcdir="src"
destdir="build"
classpath="xyz.jar"
debug="on"
source="1.8"
/>

這個表示編譯src下的所有java文件到build目錄,依賴xyz.jar

<javaclassname="test.Main">
<argvalue="-h"/>
<classpath>
<pathelementlocation="dist/test.jar"/>
<pathelementpath="${java.class.path}"/>
</classpath>
</java>

這個是運行一個class類的例子。

❿ ant批量編譯java文件,當出錯的時候需要輸出錯誤信息,但是他只輸出了100條記錄,請問高手們:怎樣才能設

運行ant命令時指定-logfile參數,例如:
ant -f build.xml -logfile release.log

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:710
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:972
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:681
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:833
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:741
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1081
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:312
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:192
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:879
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:837