Tuesday, March 30, 2004

 

初學Ant

也是之前po
有問題跟我說一下 謝謝啦~

《First-下載》

一樣去Apache的網站http://www.apache.org/的Ant下載
在Ant的Download點選Binary Distributions下載apache-ant-1.6.1-bin.zip

《Second-設定環境變數》


在系統變數新增 ANT_HOME變數值是C:\ant
(順便也在C槽下建這個目錄 然後將下載的zip解壓縮放置這個目錄下)
還要在Path裡加上;%ANT_HOME%\bin這樣就可以了~

《Third-開啟 》

要確定是否正確 可以在命令提示字元下打C:\>ant -version
出現Apache Ant version 1.6.1 compiled on February 12 2004 就表示OK啦~

《Fourth-開始編輯網頁》

現在要開始寫第一個xml的程式吧~
  <project name="CookBook" default="echo-message" basedir=".">
    <target name="echo-message"
        description="Echoing a message to the console">
        <echo message="Hello~" />

    </target>
  </project>
存成build.xml
然後在命令提示字元下打C:\workspace>ant(workspace 是我存放的目錄
你可以存在自己的目錄 路徑對就行啦~)
出現
Buildfile: build.xml
echo-message: [echo] Hello~
BUILD SUCCESSFUL Total time: 0 seconds
就是成功啦~
附註:一個project下可以有很多target
echo是用來show出訊息的
如果你的檔名不是build.xml而是其他像是hi.xml
則命令要打C:\ant\workspace>ant -buildfile hi.xml 才行唷~

《Fifth-如何編譯出class檔》

要有3個檔案
    build.xml
    global.properties
    RequestHeaderView.java

build.xml 是用來編譯出class檔
global.properties 是用來設定一些屬性
RequestHeaderView.java 是你想要編譯的java檔(目前以serlet的為主)

程式碼如下

build.xml--
 <project name="CookBook" default="compile-servlet" basedir=".">

    <property file="global.properties" />

    <path id="servlet-classpath">
        <fileset dir="${tomcat.dir}/common/lib">
            <include name="*.jar" />
        </fileset>
        <fileset dir="${tomcat.dir}/common/endorsed">
            <include name="*.jar" />

        </fileset>
    </path>

    <target name="compile-servlet">
        <echo message="Compile the servlet..." />
        <javac srcdir="${src}" destdir="${build}">
            <include name="${compiled.servlet}.java" />

            <classpath refid="servlet-classpath" />
        </javac>
    </target>
  </project>
global.properties--
tomcat.dir=C:\Tomcat
compiled.servlet=RequestHeaderView
src=.\\src
build=.\\build
附註:記得在放程式的地方建src和build這兩個資料夾
RequestHeaderView.java--
import java.util.Enumeration;

import javax.servlet.*;
import javax.servlet.http.*;

public class RequestHeaderView extends HttpServlet {

  public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, java.io.IOException {

    //get an Enumeration of all the request header names
    Enumeration enum = request.getHeaderNames();


    //display
      response.setContentType("text/html");
      java.io.PrintWriter out = response.getWriter();
      out.println("<html><head><title>Request Header View</title></head><body>");
      out.println("<h2>Request Headers</h2>");
      String header = null;

      while (enum.hasMoreElements()){
          header = (String) enum.nextElement();
          //getHeader returns null if a request header of that name does not exist in the request
         out.println("<strong>"+header+"</strong>"+":"+request.getHeader(header)+"<br>" );}

         out.println("</body></html>");

     } //end doGet

     public void doPost(HttpServletRequest request, HttpServletResponse
     response)
     throws ServletException, java.io.IOException {
        doGet(request,response);
    }

}
附註:這個檔案要放在剛剛建的那個src資料夾裡
然後將C:\Tomcat\conf裡的web.xml中有invoker的servlet的兩段程式碼的注解拿掉
因為預設的invoker是沒辦法用的 所以應該把註解拿掉
詳細情形請參考http://www.coreservlets.com/裡的文件

接著在命令提示字元下打C:\ant>ant
(我把build.xml檔直接放在ant下了~最好另外放在別的目錄 這樣如果ant更新版就不用移檔案了)

出現 Buildfile: build.xml
    compile-servlet:
    [echo] Compile the servlet...
    [javac] Compiling 1 source file to C:\ant\build
BUILD SUCCESSFUL Total time: 5 seconds
表示成功
將build的編譯好的class檔放入C:\Tomcat\webapps\shumi\WEB-INF\classes
(shumi是我自己建的資料夾)

然後打開瀏覽器輸入http://localhost:8080/shumi/servlet/RequestHeaderView 就會看到結果了
像是這樣
Request Headers
accept: */*
accept-language: zh-tw
accept-encoding: gzip, deflate
user-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; KKman2.0)
host: localhost:8080
connection: Keep-Alive
因為剛剛編譯好的class檔是一個可以Request Headers的檔案
可以幫你show出下列訊息~

當然你也可以自己寫程式來編譯試試其他的東西
另外編譯任何java檔 只要注意把 classpath 設定好 編譯就不會有問題了
或是更改build.xml中<include name="*.java" />
這樣就會編譯所有的java檔了
附註:任何關於Ant的問題可以到Apache Ant網站中的Documentation 的Manual尋找~
由 shumi 發表於 March 30, 2004 02:55 PM
迴響

呵呵 還有 eclipse 的沒出來~

出的話要貼到 IDE 版哦,不然我得去別版搶回來 :P

Posted by: JiaYun 發表於 2004-03-31 01:17 AM

JiaYun大大 真是細心~
我整理好就會po的^^*~

--
謝謝你的鼓勵 我會盡量多po文的^^

Posted by: shumi 發表於 2004-03-31 11:40 PM

http://www.apache.org里面的ant链接不上,为什么呀?

Posted by: qq 發表於 2004-09-06 11:14 AM

我連得上呀~
http://ant.apache.org/

Posted by: swanky 發表於 2004-09-06 12:19 PM

Ant下不了啊 啊啊啊啊啊啊啊

Posted by: showchuan 發表於 2004-12-14 01:16 PM

请问怎么修改环境变量呢?

Posted by: drl 發表於 2005-03-29 07:42 PM

如果你是用window
你可以去
"控制台"->"系統"->"進階"->"環境變數"->"系統變數"

你可以在"系統變數"一欄中加入新的或修改現有的環境變數

Posted by: 發表於 2005-03-31 05:41 PM

Comments: Post a Comment



<< Home