java—— 编译与运行
内容:使用javac 指定编译多个目录下java文件
概要:目录结构——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—— 编译与运行的更多相关文章
- java 编译与运行
javac 编译 .java文件 javac file.java //将file.java 编译为 file.classjavac -d folder file.java //将file.java ...
- java——编译和运行
Java源代码---->编译器---->Java字节码(即虚拟指令..class文件.特殊的二进制文件.二进制字节码文件)---->jvm---->解释器(jvm的一部分)-- ...
- Java学习笔记(十二):java编译跨平台运行原理
class文件由java源代码通过javac编译器编译生成,只能为JVM所识别.
- java、javac -version不一致(java编译及运行环境不一致)的环境变量设置问题解决
问题描述: 电脑上同时安装了JDK1.6与1.7 设置了环境变量JAVA_HOME为jdk1.6.0_21的安装目录,并且在PATH变量中加入了%JAVA_HOME%\bin,但在Windows命令 ...
- EditPlus集成Java编译和运行命令组建轻量级Java SE开发工具
http://www.gogogogo.me/development/EditPlus-Java.html
- notepad++编译并运行java (自定义包)
最近用Notepad++写汇编,感觉用起来挺顺手,于是想能不能也在这个优秀的编辑器下编写java并编译运行呢,因为每次启动eclipse都要挺长时间,而且eclipse实在太占内存了... 于是各种百 ...
- Linux下Java 编译运行说明
命令行环境下Java编译运行 1. java的运行机制的基本概念: 源文件 也就是我们熟知的.java文件. 类文件 .class文件是编译器由.java文件编译而成.众所周知,Java的跨平台性在 ...
- JAVA - JAVA编译运行过程
Java编译原理 *.java→*.class→机器码 java编译器 (编译) → 虚拟机(解释执行) → 解释器(翻译) → 机器码 1.Java编译过程与c/c++编译过程不同 Java编译程 ...
- 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序
如何用javac 和java 编译运行整个Java工程 (转载) http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...
随机推荐
- DOM Style样式对象的详细用法
DOM Style样式对象的详细用法 HTML Style样式比较复杂,相应访问.修改方法也有所差异.参考相关资料,整理如下. 典型Html文件如下,有三种定义方式. <head> ...
- JavasScript基数排序
基数排序 91, 46, 85, 15, 92, 35, 31, 22经过基数排序第一次扫描之后, 数字被分配到如下盒子中:Bin 0:Bin 1: 91, 31Bin 2: 92, 22Bin ...
- (转)ThinkPHP自定义模板标签详解
转之--http://www.thinkphp.cn/topic/6258.html 模板标签让网站前台开发更加快速和简单,这让本该由程序猿才能完成的工作,现在只要稍懂得HTM的人也能轻易做到,这也就 ...
- sql - 复制表
1,复制表结构和内容 1)这个表: select * into new_table_name from old_table_name ref:SQL复制数据表及表结构
- 在Xcode7中安装Alcatraz(Xcode插件管理, 字体主题等)
第一步:关闭 Xcode.第二步:如果你之前安装过Alcatraz,卸载它.在终端运行命令: rm -rf ~/Library/Application\ Support/Developer/Share ...
- static_cast、const_cast和reinterpret_cast学习
static_cast 任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast.例如,通过将一个运算对象强制转换成double类型就能表达式浮点数除法: //进行强制类 ...
- cursor变换
cursor:hand 与 cursor:pointer 的效果是一样,都像手形光标.但用FireFox浏览时才注意到使用cursor:hand在FireFox.chorme里并被支持. cursor ...
- tomcat启动报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable
linux 下 启动tomcat 报: Neither the JAVA_HOME nor the JRE_HOME environment variable is definedAt least o ...
- inline-block(行内区块元素)的详解和应用
说inline-block(行内区块元素)之前,先说下他另外的2个兄弟 display:inline; 内联元素,简单来说就是在同一行显示.他没有高度,给内联元素设置width和height是没效果的 ...
- BAT清理垃圾
@echo off title ϵͳȥm del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q ...