内容:使用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 下已测,可行),可以使用通配符*)

java—— 编译与运行的更多相关文章

  1. java 编译与运行

    javac  编译 .java文件 javac file.java //将file.java 编译为 file.classjavac -d folder file.java //将file.java ...

  2. java——编译和运行

    Java源代码---->编译器---->Java字节码(即虚拟指令..class文件.特殊的二进制文件.二进制字节码文件)---->jvm---->解释器(jvm的一部分)-- ...

  3. Java学习笔记(十二):java编译跨平台运行原理

    class文件由java源代码通过javac编译器编译生成,只能为JVM所识别.

  4. java、javac -version不一致(java编译及运行环境不一致)的环境变量设置问题解决

    问题描述: 电脑上同时安装了JDK1.6与1.7  设置了环境变量JAVA_HOME为jdk1.6.0_21的安装目录,并且在PATH变量中加入了%JAVA_HOME%\bin,但在Windows命令 ...

  5. EditPlus集成Java编译和运行命令组建轻量级Java SE开发工具

    http://www.gogogogo.me/development/EditPlus-Java.html

  6. notepad++编译并运行java (自定义包)

    最近用Notepad++写汇编,感觉用起来挺顺手,于是想能不能也在这个优秀的编辑器下编写java并编译运行呢,因为每次启动eclipse都要挺长时间,而且eclipse实在太占内存了... 于是各种百 ...

  7. Linux下Java 编译运行说明

    命令行环境下Java编译运行 1. java的运行机制的基本概念: 源文件 也就是我们熟知的.java文件. 类文件  .class文件是编译器由.java文件编译而成.众所周知,Java的跨平台性在 ...

  8. JAVA - JAVA编译运行过程

    Java编译原理 *.java→*.class→机器码 java编译器 (编译) → 虚拟机(解释执行) →  解释器(翻译) → 机器码 1.Java编译过程与c/c++编译过程不同 Java编译程 ...

  9. 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序

    如何用javac 和java 编译运行整个Java工程 (转载)  http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...

随机推荐

  1. composer之安装

    最近想要学习下yii框架,所以,就看了下官网,看到了貌似比较依赖composer这个东西,然后我就安装了,但是会有问题,安装不上等等问题,不论是windows还是linux命令行安装,都是因为一个问题 ...

  2. 合理计划 dictionary cache 大小

    [数据字典缓冲区(Data Dictionary Cache)  ] 用于存放Oracle系统管理自身所需要的所有信息,包括登录的用户名.用户对象.权限等. 查看 data dictionary ca ...

  3. javascript学习(知识点整理)

    有了这个代码,就可以在定义 中增加更多的控制了 后面会举例关于extjs定义的更多控制     此种方案可以解决定义时需要一些函数调用的情况 函数作用域和声明提前: 即由于js是解释性语言,在执行前会 ...

  4. 『重构--改善既有代码的设计』读书笔记----Inline Method

    加入间接层确实是可以带来便利,但过多的间接层有时候会让我自己都觉得有点恐怖,有些时候,语句本身已经够清晰的同时就没必要再嵌一个函数来调用了,这样只会适得其反.比如 void test() { if ( ...

  5. underscorejs-invoke学习

    2.13 invoke 2.13.1 语法: _.invoke(list, method, *args) 2.13.2 说明: 每个list属性值都执行method方法,根据method方法返回一个数 ...

  6. JavaScript设计模式之单例模式

    一.单例模式概念 单例就是保证一个类只有一个实例,实现方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象.在JavaScript里,单例作为一个 ...

  7. Oracle高级查询,事物,过程及函数

    一 数值函数 数值 abs,ceil,floor,round,trunc字符串 instr,substr SQL>SELECT 'ABS':'|| ABS(-12.3) FROM DUAL; 运 ...

  8. 第六周O题(等边三角形个数)

    O - 计数 Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u   Descripti ...

  9. How to solve “sudo: /etc/sudoers.d is world writable”

    Run pkexec chmod 0440 /etc/sudoers

  10. 利用NativeWindow监视WndProc消息(好像是一个字典,没搞明白)

    http://blog.csdn.net/lovefootball/article/details/1784882 在写Windows应用程序的时候,经常会碰到需要修改例如MessageBox或者Fi ...