先给出参考的两个链接,然后再总结:


内容:使用javac 指定编译多个目录下java文件

链接:http://zhidao.baidu.com/link?url=W5ZERu8_ouGD-L_JH0vqqawhJNitsGbonQAATedyFZVEo0GqB1yRdb3QCJba3fAy7AiBSDciBurr1iT4kHCKH1szrA3e1u1IwlF_5iwlCbm

概要:目录结构——project;

           project/src/com/package1/a.java;  

         project/src/com/package2/b.java;

           project/class/      //作为类的输出目录

           project/sourceList.txt  //sourceList.txt位源文件列表文件,存放要编译的类的相对路径,如:src/com/package1/a.java

                      //  javac命令只会一行一行地读取其中的记录,作为一个单位进行类编译。

         project/lib/jxl.jar        //外用库

  sourceList.txt内容—— src/com/package1/a.java  //(或project\src\package1\a.java;)

              src/com/package2/b.java

  在project 目录下执行——javac -classpath lib/jxl.jar -sourcepath src @sourcelist.txt -d class


内容:如何用javac 和java 编译运行整个Java工程

链接:http://blog.csdn.net/huagong_adu/article/details/6929817

概要:本文教你怎么用javac和java命令,以及如何利用脚本(shell或bat)方便处理,并用简单的实例展示这些用法。(主要是linux系统下的操作)

(指错:该文章说“windows下文件路径分隔符用 \ ,文件列表分隔符用分号 ;” 而我自己测试后则是:windows 7 下文件路径分隔符用 [space 空格],文件列表分隔符用 [回车])


javac使用总结:

使用上面文件目录结构来说明

(其中package1 的a.java 有导入packge2 的b.java 所生成的类 b.class

  a.java 内容——  package com.package1;

          import com.package2.b;

          ......

  b.java 内容—— package com.package2;

          ......

生成工程文件的三个方法如下:

1、cd 进入工程目录,依次执行

javac -sourcepath src src/com/package2/*.java -d class

javac -sourcepath src src/com/package1/*.java -d class -class -classpath class

这个方法比较繁琐,如果有较多的包,得执行多个语句,而且还会存在错误:找不到软件包。

只有先把没有被引用导入的类先编译后,再编译引用它的那个类才能够顺利编译(也就是说如果以上两句如果顺序调换一下,第一行就执行不了了)

同时还要注意:有导入别的包的那个类,在编译时要给出具体的classpath ,在这里 编译后的类放在 class 目录下,所以用-classpath class

以下两个方法无需考虑顺序,只要把涉及的文件都写及到就可以

2、cd 进入工程目录,javac -sourcepath src @sourcelist.txt -d class

  (该方法必须将所有文件的具体相对路径一个一个写入sourcelist.txt(上面有提到这个列表的文件),不知道可不可以用通配符*)

1、cd 进入工程目录,javac -sourcepath src src/com/package1/*.java src/com/package2/*.java -d class

  (该方法直接指定所有源文件路径,以空格隔开(在Windows 7 下已测,可行),可以使用通配符*)

javac 命令行使用总结的更多相关文章

  1. Java知识点:javac命令

    javac命令初窥 注:以下红色标记的参数在下文中有所讲解. 用法: javac <options> <source files> 其中, 可能的选项包括:   -g     ...

  2. javac命令

    javac命令 javac命令初窥 注:以下红色标记的参数在下文中有所讲解. 用法: javac <options> <source files> 其中, 可能的选项包括:   ...

  3. eclipse中的javac命令与java命令

    一.eclipse的javac命令:当eclipse对.java(源文件)文件进行保存操作时(快捷键ctrl+s),会执行javac命令.见上图,Default output folder(默认输出文 ...

  4. JAVAC 命令详解(转)

    本文来自:http://www.cnblogs.com/JeffChen/archive/2008/01/16/1041783.html 结构 javac [ options ] [ sourcefi ...

  5. 最有用的Linux命令行使用技巧集锦

    最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在 ...

  6. 【Linux工具】svn命令行使用实例

    引言 网上有这么多介绍 svn 使用的文章,为什么还要写?因为它们深入不浅出,平铺不分类,理论不实际,看完也记不住. 本文先介绍基本用法,后进行实例演练.不求大而全,只求熟练常用,自行用 svn he ...

  7. javac命令详解(下)

    摘自http://blog.csdn.net/hudashi/article/details/7058999 javac命令详解(下)                             -ver ...

  8. javac命令详解(上)

    摘自http://blog.csdn.net/hudashi/article/details/7058998   javac命令详解(上)                             ja ...

  9. JAVAC 命令使用方法

    结构 javac [ options ] [ sourcefiles ] [ @files ] 參数可按随意次序排列. options 命令行选项. sourcefiles 一个或多个要编译的源文件( ...

随机推荐

  1. HTML总结1

    1.html基本结构 <html>  <head>   <title>我的第一个网页</title>  </head>  <body ...

  2. 创建cocos项目

    创建cocos项目 进入终端输入命令: cocos new HelloCpp -p com.cocos.org -l cpp -d /Users/emerys/documents/cocos 参数说明 ...

  3. Xcode7新特性

    更新Xcode7之后报错: Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], ...

  4. html5--canvas学习笔记

    1. 添加<canvas>元素 right: <canvas id="myCanvas" width="300" height="3 ...

  5. Json处理函数json_encode json_decode

    json_decode — 对 JSON 格式的字符串进行编码 mixed json_decode ( string $json [, bool $assoc = false [, int $dept ...

  6. 编写可维护的javascript代码--- 2015.11.22(注释)

    1.单行注释 // 这是一句单行注释 2.多行注释 /* 这里是代码 */     /*  这里都是注释 1232132  */      java的注释风格 /* * 另一段注释 * 这段注释包含2 ...

  7. light oj 1248 第六周E题(期望)

    E - 期望(经典问题) Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu   Descri ...

  8. UVA 1594 Ducci Sequence(两极问题)

           Ducci Sequence Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu   D ...

  9. Lucene查询条数限制

    运用Lucene进行索引,在查询的时候是有条数限制的 public virtual TopFieldDocs Search(Query query, Filter filter, int n, Sor ...

  10. inet_aton等函数

    地址转换函数 int inet_aton(const char *strptr,struct in_addr *addrptr) 将strptr所指C字符串转换成一个32位的网络字节序二进制值,并同过 ...