文档章节

java 命令行进行代码编译

林小宝
 林小宝
发布于 2018/06/15 11:54
字数 950
阅读 43
收藏 0

java 命令行进行代码编译

  • 20180615 lambo init

测试目录结构

  • root/src/com/Main.java
  • root/conf/aa.conf
  • root/lib/aa.jar
  • root/classes

编译 javac

  • 收集java文件路径
  • javac编译

windows 代码

dir /b src\\*.java/s > srcList.txt
javac -encoding UTF-8 -cp .;/lib/aa.jar -d classes @srcList.txt

linux 代码

find src -name *.java > srcList.txt
javac -encoding UTF-8 -cp .:/lib/aa.jar -d classes @srcList.txt

打成jar包

 jar -cf xx.jar -C classes . -C conf .

打包成可执行包

ps -e参数可以指定main-class, 注意com.Main位置,不可变。-e 取第一个class作为main-class;

jar -cfe xx.jar com.Main -C classes . -C conf .

命令帮助

javac命令

用法: javac <options> <source files>
其中, 可能的选项包括:
  -g                         生成所有调试信息
  -g:none                    不生成任何调试信息
  -g:{lines,vars,source}     只生成某些调试信息
  -nowarn                    不生成任何警告
  -verbose                   输出有关编译器正在执行的操作的消息
  -deprecation               输出使用已过时的 API 的源位置
  -classpath <路径>            指定查找用户类文件和注释处理程序的位置
  -cp <路径>                   指定查找用户类文件和注释处理程序的位置
  -sourcepath <路径>           指定查找输入源文件的位置
  -bootclasspath <路径>        覆盖引导类文件的位置
  -extdirs <目录>              覆盖所安装扩展的位置
  -endorseddirs <目录>         覆盖签名的标准路径的位置
  -proc:{none,only}          控制是否执行注释处理和/或编译。
  -processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
  -processorpath <路径>        指定查找注释处理程序的位置
  -parameters                生成元数据以用于方法参数的反射
  -d <目录>                    指定放置生成的类文件的位置
  -s <目录>                    指定放置生成的源文件的位置
  -h <目录>                    指定放置生成的本机标头文件的位置
  -implicit:{none,class}     指定是否为隐式引用文件生成类文件
  -encoding <编码>             指定源文件使用的字符编码
  -source <发行版>              提供与指定发行版的源兼容性
  -target <发行版>              生成特定 VM 版本的类文件
  -profile <配置文件>            请确保使用的 API 在指定的配置文件中可用
  -version                   版本信息
  -help                      输出标准选项的提要
  -A关键字[=值]                  传递给注释处理程序的选项
  -X                         输出非标准选项的提要
  -J<标记>                     直接将 <标记> 传递给运行时系统
  -Werror                    出现警告时终止编译
  @<文件名>                     从文件读取选项和文件名

jar 命令

用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
选项:
    -c  创建新档案
    -t  列出档案目录
    -x  从档案中提取指定的 (或所有) 文件
    -u  更新现有档案
    -v  在标准输出中生成详细输出
    -f  指定档案文件名
    -m  包含指定清单文件中的清单信息
    -n  创建新档案后执行 Pack200 规范化
    -e  为捆绑到可执行 jar 文件的独立应用程序
        指定应用程序入口点
    -0  仅存储; 不使用任何 ZIP 压缩
    -P  保留文件名中的前导 '/' (绝对路径) 和 ".." (父目录) 组件
    -M  不创建条目的清单文件
    -i  为指定的 jar 文件生成索引信息
    -C  更改为指定的目录并包含以下文件
如果任何文件为目录, 则对其进行递归处理。
清单文件名, 档案文件名和入口点名称的指定顺序
与 'm', 'f' 和 'e' 标记的指定顺序相同。

示例 1: 将两个类文件归档到一个名为 classes.jar 的档案中: 
       jar cvf classes.jar Foo.class Bar.class 
示例 2: 使用现有的清单文件 'mymanifest' 并
           将 foo/ 目录中的所有文件归档到 'classes.jar' 中: 
       jar cvfm classes.jar mymanifest -C foo/ .

© 著作权归作者所有

林小宝
粉丝 5
博文 30
码字总数 11167
作品 2
深圳
私信 提问
关于 Java Scripting API 您不知道的 5 件事

现在,许多 Java 开发人员都喜欢在 Java 平台中使用脚本语言,但是使用编译到 Java 字节码中的动态语言有时是不可行的。在某些情况中,直接编写一个 Java 应用程序的脚本 部分 或者在一个脚本...

红薯
2010/09/12
495
2
Win64下通过JNI(C++)创建jvm

在Win64下通过jni启动jvm并运行java类: 环境设置: jdk: jdk7_45(x64) vs2010 64位命令行工具, 用来编译我们写的C++,就是这个: 环境变量设置: LIB变量添加“C:Program Files (x86)Micr...

ihaolin
2013/12/09
0
0
JAXB 应用指南

文章转自:http://blog.csdn.net/darxin/article/details/4845820 JAXB(Java Architecture for XML Binding)是一种特殊的序列化/反序列化工具。它可以使XML数据以Java Objects的形式直接应...

红薯
2011/08/06
4.7K
0
1-Java基础语法-Java初识

欢迎大家来到java世界 带领大家领略编程的奥秘。 人与人沟通需要语言。计算机世界的沟通语言。 Java语法结构,使用循环和选择流控制结构,了解方法和数组的使用。 Java简介 Java是一门编程语...

天涯明月笙
2018/07/29
0
0
Java 9 将会从默认类路径中去除 CORBA

作为模块系统的一部分正在进行的迁移,CORBA和其他的Java EE模块在Java 9更新时将不会包含在默认的类路径中。这些模块依然能够获取,但是开发者们需要使用特定的命令行指令才能够使用它们。这...

oschina
2016/06/17
5K
16

没有更多内容

加载失败,请刷新页面

加载更多

零基础学画画应该从哪开始?

零基础学画画应该从哪开始?一种是从小有兴趣,喜欢涂鸦,喜欢将自己的创意和想法表现出来;另一种是长大后审美提高,开始对绘画艺术感兴趣,从而开始从零基础学起。 推荐大家可以搜一下:轻微...

设绘嗨
32分钟前
3
0
你编写的程序高效、优雅吗?阿里架构师教你编写高效优雅Java程序

面向对象 构造器参数太多怎么办? 用 builder 模式,用在 1、5 个或者 5 个以上的成员变量 2、参数不多,但是在未来,参数会增加 Builder 模式: 属于对象的创建模式,一般有 1. 抽象建造者:...

kx33389
37分钟前
3
0
PDF 文档操作Java类库Spire.PDF for Java v2.7.6发布上线!| 附下载

Spire.PDF for Java是一款专门对 PDF 文档进行操作的 Java 类库。该类库的主要功能在于帮助开发人员在 Java 应用程序(J2SE和J2EE)中生成 PDF 文档和操作现有 PDF 文档,并且运行环境无需安...

mnrssj
45分钟前
2
0
初探云原生应用管理(二): 为什么你必须尽快转向 Helm v3

在研究了一番“开放云原生应用中心(AppHub)”之后,程序员小张似乎已经明白了“云原生应用”到底是怎么一回事情。 “不就是 Helm 嘛!” 这不,小张这就准备把自己开发多年的“图书馆管理系...

zhaowei121
49分钟前
1
0
「工具」三分钟了解一款思维导图工具:XMind Zen

一款非常实用的商业思维导图软件,融合艺术与创造力。致力于高效的可视化思维,强调软件的跨平台使用,帮助用户提高生产效率。 相关信息 · 操作系统:macOS / Windows / Linux · 官方网站:...

极光推送
50分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部