Makefile编译Java文件
来源:互联网 发布:曾途 大数据 简历 编辑:程序博客网 时间:2024/06/08 10:34
下面是在Linux下用Makefile编译java文件简单示例,仅供参考
先简单说明下javac命令的简单用法:
javac的通常用法:
javac <options> <source files>
options:命令行选项;sourcefiles:一个或多个要编译的源文件;
@files:一个或多个对源文件进行列表的文件,有时候要编译的文件很多,一个个敲命令会显得很长,也不方便修改,可以把要编译的源文件列在文件中,在文件名前加@,这样就可以对多个文件进行编译,对编译一个工程很有用,方便,省事。
有几个比较重要的选项:
-d 用于指定编译成的class文件的存放位置,缺省情况下不指定class文件的存放目录,编译的class文件将和源文件在同一目录下;
-classpath 可以简写成-cp,用于搜索编译所需的class文件,指出编译所用到的class文件的位置,如jar、zip或者其他包含class文件的目录,指定该选项会覆盖CLASSPATH的设定;
-sourcepath用于搜索编译所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目录;
需要注意windows下和linux下文件路径分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的区别:
windows下文件路径分隔符用 \ ,文件列表分隔符用分号 ;
linux下文件路径分隔符用 / ,文件列表分隔符用冒号 :
java 用于执行程序,格式如下:
java [options] classfile
options:命令行选项,一般用于 -classpath 指定要执行的文件所在的位置以及需要用到的类路径,包括jar、zip和class文件目录,会覆盖CLASSPATH的设定
CURRENT_DIR := $(shell pwd)PROJECT := testSOURCE := source.listTARGET := test.jarOUT := out.PHONY: all jarall: jarjavac: preinitjavac -cp $(CURRENT_DIR)/$(OUT)/$(PROJECT) -d $(CURRENT_DIR)/$(OUT)/$(PROJECT) @$(CURRENT_DIR)/$(SOURCE)rm -f $(CURRENT_DIR)/$(SOURCE)preinit:@find $(CURRENT_DIR)/ -name "*.java" > $(CURRENT_DIR)/$(SOURCE)mkdir -p $(CURRENT_DIR)/$(OUT)/$(PROJECT) jar: javacjar -cvf $(TARGET) -C $(CURRENT)/$(OUT)/$(PROJECT) .clean:rm -rf $(OUT)
运行编译好的jar包:
java -cp test.jar com.xxx.xxx
其中‘xxx’部分可以用tab键补全,需要自己选择包名,
参考文献:
javac和java命令部分参考:
http://blog.csdn.net/huagong_adu/article/details/6929817
0 0
- Makefile编译Java文件
- 使用Makefile编译Java文件
- 交叉编译Makefile文件
- 多文件编译 makefile
- makefile多文件编译
- Makefile编译文件
- makefile如何指定编译文件
- Makefile 编译多个文件
- gcc/g++编译makefile文件
- 用makefile编译C文件
- Makefile编译目录下多个文件
- makefile 自动编译所有文件
- Makefile-----编译目录下多个文件
- makefile编译所有cpp文件
- makefile之多目录文件编译
- makefile简单多文件编译
- 华行编译文件Makefile
- 编译proc程序可用makefile文件(转)
- 创建漂亮的 CSS 按钮的 10 个代码片段
- 苹果企业证书在线安装
- android ListView详解
- RPC的应用
- FineUIMvc随笔(4)自定义回发参数与自定义回发
- Makefile编译Java文件
- java设计模式:单例设计模式
- Android双击Home键返回桌面
- RCP协议介绍
- IDEA导入MyEclipse项目报错ClassNotFound
- 99累加
- 如何给你的微信公众号排版
- 有子对象的派生类的构造函数
- Android视图绘制流程完全解析,带你一步步深入了解View(二)