2013-12-17 122 views
0

編譯庫我創建包(項目)Point,其中含有類SquareRectanglePointCircleLine。它們是帶有構造函數的簡單類,用於創建所述對象。 從站主,你叫他們像這樣:與Ant腳本

Point p1 = new Point(0,3); 

我應該寫一個程序,詢問用戶選擇哪一個對象,他希望創建和設置它的幾何形狀,我只能用我的觀點包作爲圖書館。

1)創建simple-graphics.jar庫。 我刪除了我的Point包中的主要方法,並設法從我的Point包中生成了simple-graphics.jar可執行文件.jar文件。

2)我被要求創建一些ant腳本,它從源文件編譯這個庫並生成.jar文件,但是,我不知道如何做到這一點,如果我還沒有完成它在1),教程在螞蟻腳本上我不是很清楚。我想我應該這樣做,通過在NetBeans中選擇produce .jar選項並在某處放置這個ant腳本。

3)我應該能夠通過使用java -jar simple-graphics.jar運行由2)生成的.jar文件我如何在NetBeans中執行該操作,還是應該使用cmd?我在W7上。

編輯: 謝謝你的腳本,作爲一個看看它,我絕對不能寫所有這一切。

如何在我的程序中使用此庫?解決的 - 是這樣的:在包點

package simpleapp; 

import point; 

public class SimpleApp{ 



    public static void main(String [] args){ 


    //Please press 1 to create Point 
    //Please specify x and y axis: 
    //i will select the type of object and create it 
    //Object o = new whichObject(1)(x,y); 

    } 
} 

Point類,其他類非常相似:

package point; 

public class Point{ 

double x; 
double y; 

public Point(double a, double b){ 
    x = a; 
    y = b; 
} 

public Point(){ 
    x = 0; 
    y = 0; 
} 

public double distance(Point p){ 
    return Math.sqrt((p.x - x) * (p.x - x) + (p.y - y) * (p.y-y)); 
} 
} 

回答

0

這是一個非常基本的Ant腳本(build.xml)到您的Java文件編譯成類文件,假設您的Java源文件位於子目錄src中,將它們打包成JAR文件。請注意,這只是一個起點。

<project name="Point-Library" default="build"> 

    <property name="src.dir" value="src" /> 
    <property name="build.dir" value="build" /> 
    <property name="jar.name" value="simple-graphics.jar" /> 

    <target name="build" depends="prepare, compile, jar" /> 

    <target name="prepare" description="Creates the build folder"> 
    <mkdir dir="${build.dir}" /> 
    </target> 

    <target name="compile" description="Compiles the Java source files"> 
    <javac srcdir="${src.dir}" destdir="${build.dir}" /> 
    </target> 

    <target name="jar" description="Packs the compiled Java classes into a JAR file"> 
    <jar basedir="${build.dir}" destfile="${jar.name}" /> 
    </target> 

</project> 

但是,您應該先閱讀offical Ant manual以瞭解這些概念。

要使用生成的JAR文件,你必須將它添加到你的classpath(你已經做過)。 然後你可以導入包point

package simpleapp; 

import point; // <--- 

public class SimpleApp{ 



    public static void main(String [] args){ 


    //Please press 1 to create Point 
    //Please specify x and y axis: 
    //i will select the type of object and create it 
    //Object o = new whichObject(1)(x,y); 

    } 
} 

它使您的客戶端代碼沒有什麼區別,它使用point類其源代碼是否是項目的一部分,或者你只導入包含point類文件的JAR文件。

+0

謝謝,你是救命恩人!我成功地完成了我的程序,並將在假期學習和腳本,因爲我將來需要它們。 –