请教一个关于 java build 的低级问题

2016-04-11 21:55:56 +08:00
 patrickstar
因为一直都搞 C/S 架构的控制软件,所以只会 C/C++ 和 python (python 主要用于数据分析处理、控制软件客户端或者调试、测试工具开发) ,团队有一个懂点 java 的又出长差去了。我对于 java 语言, web 系统等这些高大上的技术那是一点儿也不懂 (只能以后慢慢学习了,现在救急是来不及了)

我现在有一套 java 源代码(参见 https://sourceforge.net/p/tango-cs/code/HEAD/tree/archiving/hdb++/gui/jhdbviewer/trunk/ ),我知道它的功能、使用方法以及他依赖哪些其他的 jar 包,也大概知道 CLASSPATH 配置,就是不知道这些*.java 和*.form 文件如何 make(对不起,我只能借用 C++ 项目的概念了,不知道 java 程序叫 make 还是 build 还是打包....)出来,看他的 xml 文件内容,好像是类似 C++项目的工程文件,但是我不知道如何用这个文件,比如对于 C++ 项目,我把 Makefile 一写好,然后 make && make install 就搞定,而对于这个东西不知道如何 build

我的系统是 CentOS 7 , jre 和 jdk 都是安装好的,请大家用指导小学生的方法指导一下子如何整?

另外,我想学习了解一下子 java 源程序文件如何 make/build ,不太想去深入了解 java 语言和库,只用开源现成的,有没有推荐的书看一看啊
2985 次点击
所在节点    Linux
5 条回复
sagnitude
2016-04-11 22:07:47 +08:00
1. 安装 Apache Ant ,加入 PATH
2. 到那个含有"build.xml"的目录下,运行"ant"
3. 结果应该会在 dist 文件夹里
beanlam
2016-04-11 22:29:09 +08:00
看到楼主把 java 和 web 技术定义为高大上的技术,作为一个 java 程序员感到有点害羞啊,在我看来懂 c 和 cpp 的 java 要高大一点, web 技术也不是什么高大上的技术
扯远了,现在 java 项目的 build 大多用 ant , maven 。在项目的根目录下看到有 build.xml ,是要用 ant 来 build 的,如果看到有 pom.xml ,则使用 maven 来 build 的。两种 build 方式共存的也有。
yangxiongwei
2016-04-11 22:34:32 +08:00
Ant 是 Java 界的 make , build.xml 相当于 Makefile
patrickstar
2016-04-12 06:18:55 +08:00
@sagnitude
@beanlam
@yangxiongwei
谢谢三位,我来安装一个 ant 试一试
wohenyingyu01
2016-04-12 09:44:14 +08:00
貌似完全可以把 make 用在 java 上?
```makefile
all:jnilib.dylib
jnilib.dylib:hellojni.o
gcc -dynamiclib -o libjni.jnilib hellojni.o
hellojni.o: hellojni.cpp hellojni.h
gcc -I /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/ include -I /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/ include/darwin/ -c hellojni.cpp
hellojni.h:hellojni.class
javah -jni hellojni
hellojni.class:hellojni.java
javac hellojni.java
clean:
-rm hellojni.h
-rm hellojni.o
-rm libjni.jnilib
-rm hellojni.class
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/270303

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX