V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
patrickstar
V2EX  ›  Linux

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

  •  
  •   patrickstar · 2016-04-11 21:55:56 +08:00 · 2959 次点击
    这是一个创建于 3149 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为一直都搞 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 语言和库,只用开源现成的,有没有推荐的书看一看啊
    5 条回复    2016-04-12 09:44:14 +08:00
    sagnitude
        1
    sagnitude  
       2016-04-11 22:07:47 +08:00
    1. 安装 Apache Ant ,加入 PATH
    2. 到那个含有"build.xml"的目录下,运行"ant"
    3. 结果应该会在 dist 文件夹里
    beanlam
        2
    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
        3
    yangxiongwei  
       2016-04-11 22:34:32 +08:00
    Ant 是 Java 界的 make , build.xml 相当于 Makefile
    patrickstar
        4
    patrickstar  
    OP
       2016-04-12 06:18:55 +08:00 via iPad
    @sagnitude
    @beanlam
    @yangxiongwei
    谢谢三位,我来安装一个 ant 试一试
    wohenyingyu01
        5
    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
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5567 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 08:21 · PVG 16:21 · LAX 00:21 · JFK 03:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.