我创建了包(项目)Point
,其中包含类Square
,Rectangle
,Point
,Circle
和Line
。它们是带有用于创建所述对象的构造函数的简单类。
从主要点开始,你可以这样称呼它们:
Point p1 = new Point(0,3);
我应该编写一个程序,要求用户选择他想要创建的对象并设置其几何,我只能将我的Point包用作库。
1)创建simple-graphics.jar
库。
我删除了Point
包中的main方法,并设法从我的simple-graphics.jar
包中生成Point
个可执行.jar文件。
2)我被要求创建一些ant脚本,从其源文件编译这个库并生成.jar文件,但是,我不知道如何做到这一点,如果我还没有在1)中完成它,教程蚂蚁脚本对我来说不是很清楚。我想我应该通过在NetBeans中选择produce .jar选项并在某个地方使用这个ant脚本来实现两种方式。
3)我应该能够运行由{2}生成的.jar文件使用java -jar simple-graphics.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包中的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 :(得分:0)
这是一个非常基本的Ant脚本(build.xml
),用于将Java文件编译为类文件并将其打包到JAR文件中,假设您的Java源文件位于子目录src
中。请注意,这只是一个起点。
<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文件,您必须将其添加到类路径(您已经使用过)。
然后,您可以导入包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文件,都没有区别。