这篇文章通过一个具体的示例来介绍如何进行容器方式的Ant构建。
- 获取Ant构建镜像
执行命令:docker pull liumiaocn/ant:1.10.7
- 获取Ant构建的示例代码
执行命令:git clone http://github.com/liumiaocn/easypack
构建示例代码说明[root@liumiaocn ~]# git clone http://github.com/liumiaocn/easypack.git Cloning into 'easypack'... remote: Enumerating objects: 14, done. remote: Counting objects: 100% (14/14), done. remote: Compressing objects: 100% (11/11), done. remote: Total 3462 (delta 3), reused 13 (delta 2), pack-reused 3448 Receiving objects: 100% (3462/3462), 2.17 MiB | 3.24 MiB/s, done. Resolving deltas: 100% (1702/1702), done. [root@liumiaocn ~]# cd easypack/ant/ [root@liumiaocn ant]# cd demo [root@liumiaocn demo]# ls build.xml HelloWorld.java [root@liumiaocn demo]# cat HelloWorld.java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World, LiuMiao"); } } [root@liumiaocn demo]# [root@liumiaocn demo]# cat build.xml [root@liumiaocn demo]#
详细代码和配置说明可参看:
- https://liumiaocn.blog.csdn.net/article/details/103490259
缺省会在/data目录下,因为此目录下有build.xml文件的存在,所以可以直接使用ant jar进行构建即可。
liumiaocn:demo liumiao$ pwd /Users/liumiao/easypack/ant/demo liumiaocn:demo liumiao$ ls HelloWorld.java build.xml liumiaocn:demo liumiao$ docker run --rm -v `pwd`:/data liumiaocn/ant:1.10.7 ant jar Buildfile: /data/build.xml build: [mkdir] Created dir: /data/classes [javac] Compiling 1 source file to /data/classes jar: [jar] Building jar: /data/hello.jar BUILD SUCCESSFUL Total time: 1 second liumiaocn:demo liumiao$ ls HelloWorld.java build.xml classes hello.jar liumiaocn:demo liumiao$ java -jar hello.jar Hello World, LiuMiao liumiaocn:demo liumiao$
也可以使用-f选项指定构建文件进行ant的target执行
liumiaocn:demo liumiao$ docker run --rm -v `pwd`:/data liumiaocn/ant:1.10.7 ant -f /data/build.xml clean Buildfile: /data/build.xml clean: [delete] Deleting directory /data/classes [delete] Deleting: /data/hello.jar BUILD SUCCESSFUL Total time: 0 seconds liumiaocn:demo liumiao$ ls HelloWorld.java build.xml liumiaocn:demo liumiao$