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

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

  •  
  •   patrickstar 2016 年 4 月 11 日 3404 次点击
    这是一个创建于 3577 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为一直都搞 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 年 4 月 11 日
    1. 安装 Apache Ant ,加入 PATH
    2. 到那个含有"build.xml"的目录下,运行"ant"
    3. 结果应该会在 dist 文件夹里
    beanlam
        2
    beanlam  
       2016 年 4 月 11 日
    看到楼主把 java 和 web 技术定义为高大上的技术,作为一个 java 程序员感到有点害羞啊,在我看来懂 c 和 cpp 的 java 要高大一点, web 技术也不是什么高大上的技术
    扯远了,现在 java 项目的 build 大多用 ant , maven 。在项目的根目录下看到有 build.xml ,是要用 ant 来 build 的,如果看到有 pom.xml ,则使用 maven 来 build 的。两种 build 方式共存的也有。
    yangxiongwei
        3
    yangxiongwei  
       2016 年 4 月 11 日
    Ant 是 Java 界的 make , build.xml 相当于 Makefile
    patrickstar
        4
    patrickstar  
    OP
       2016 年 4 月 12 日 via iPad
    @sagnitude
    @beanlam
    @yangxiongwei
    谢谢三位,我来安装一个 ant 试一试
    wohenyingyu01
        5
    wohenyingyu01  
       2016 年 4 月 12 日
    貌似完全可以把 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     Solana     1036 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 19:18 PVG 03:18 LAX 11:18 JFK 14:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86