當前位置:首頁 » 編程軟體 » ant構建是少編譯了java

ant構建是少編譯了java

發布時間: 2022-09-07 17:55:18

① ant 編譯忽略某個java

以前了解過一點

<!--fileset可以設定一組文件集來進行操作,dir指明文件集要進行選擇的路徑,
通過id可以指定這個文件的名稱,在使用的時候進行直接的引入
include和exclude可以設定包含返回和排除范圍**/*.*所有目錄中的所有文件
-->
<fileset id="src.path" dir="src">
<include name="**/*.*"/>
<!--<exclude name="**/*.java"/>-->
</fileset>

② 運行JAVA文件時出現ant構建怎麼回事

用 Run as 選擇一下運行方式 ,用Java applaction方式運行,你現在運行的方式默認為Ant了 ,Ant是一個Build 工程用的,需要做Build.xml文件,你現在沒有。

③ 使用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出現警告時終止編譯
@<文件名>從文件讀取選項和文件名

④ ant工具在具體java開發中用的多麼就是單獨的純用ant,貌似我都不用這個的。

貌似用的不多,但是大型的項目好像也用,一般都用集成化的IDE工具,但是向eclipse這些的編譯功能好像也是調用ant工具的。主要是用來:編譯,打包,測試等功能
單純從學習來說還是得接觸接觸,因為他是小巧的開發工具,能讓你更加了解具體實現細節。有的時候就是這樣越是功能齊全的軟體越是讓人學不到東西,因為他封裝了好多我們不需要關心的事,而這也是需要我們了解的。對於有志於向著軟體行業發展的同志們,還是建議不能浮躁,多了解一些有好處,而不只是做出來就是好的,呵呵。

⑤ 如何使用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的問題

我編譯都是這么整:
<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需要再編譯嗎

可以這么做,但多半會出一些莫名其妙的錯誤。

原因在於,bin目錄一般是由eclipse這類IDE環境維護和編譯的,而ant是獨立於它們的,那麼直接使用bin目錄就可能導致以下錯誤:

  1. ant打包時,eclipse正在編譯過程中,打出來的包當然有問題;

  2. 通過記事本之類的eclipse之外的工具改了點代碼,打包時前述代碼尚示編譯,當然同樣會出錯;

  3. 沒有eclipse環境時,bin目錄當然也就為空,此時打包也必然出錯;

  4. 等等類似錯誤。


綜上,因此ant打包時,一般確實需要重新編譯。

⑧ 打開一個現成的JAVA 文件,用ANT編譯,怎麼不成功,下面是錯誤提示,其中刪了一些,為什麼不成功呢

注意:wsimport工具在生成類文件時可能會出錯,原因可能是解析xml時出錯,大概是有寫語法不支持,可以先將xml文件下載到本地,使用本地的xml文件生成類文件,看到報錯的位置,進行相應修改,可能會影響到部分功能,生成的類文件耦合了wsdl文檔目錄,需要生成後修改。

熱點內容
安卓如何在寶馬車上放歌 發布:2025-03-22 05:06:15 瀏覽:282
命令提示符進入文件夾 發布:2025-03-22 05:00:09 瀏覽:407
免費微商城源碼 發布:2025-03-22 04:40:25 瀏覽:825
歐規路虎運動都有哪些配置 發布:2025-03-22 04:21:18 瀏覽:381
二進制加法運演算法則 發布:2025-03-22 04:15:22 瀏覽:890
歌曲存儲器 發布:2025-03-22 04:11:35 瀏覽:306
java數字轉換成字元 發布:2025-03-22 03:37:08 瀏覽:140
電信企業網關用telnet如何配置 發布:2025-03-22 03:34:17 瀏覽:72
python判斷是否存在 發布:2025-03-22 03:34:13 瀏覽:733
以下存儲中編譯器管理的存儲是 發布:2025-03-22 03:33:34 瀏覽:695