JAVA代码在命令行下的编译

p { text-indent: 2em }
.main { font-weight: bolder }

目的

跟C++一样,JAVA可以通过命令行直接编译得到字节码文件,并且使用java命令运行。通过JAVA的编译和运行命令只是熟悉一下JAVA的一些特征,包括包和目录,classpath,jar格式;而且在调试小程序的时候其实用命令行是足够的。

但是在进行大型项目的时候还是要用较大的IDE,例如eclipse和NetBeans,显然eclipse是比NetBeans要复杂得多的,这里不说。

主要过程是:

  1. javac编译产生class
  2. java 运行class文件
  3. 如果你想用jar文件,那就在2的时候产生jar文件,然后用java -jar 执行它

编译

JAVA的编译和运行需要一个环境变量,以下先讲windows下的命令。 classpath是环境变量,你要运行命令: javac Hello.java的时候是默认的调用了windows的classpath变量的,这个变量代表的目录下面有标准的包;所以如果有不标准的包,就要指出它的完整路径(包括包的名字):

javac -cp .../javax.mail.jar Hello.java

java -classpath .../javax.mail.jar Hello.java

  1. -cp在windows下跟-classpath等价
  2. ...代表任意目录
  3. 在-cp后的目录可以有多个,用分号";"分隔,而且点号表示当前目录

运行

java可以运行class文件也可以运行jar文件,但是运行java时: java Hello.class 错误,而java Hello正确, 这只是一个规范,没有特别的含义,而且也不会跟目录结构名混淆;

常见错误提示

cannot find or load the main class:基本都是因为没有搞对类的位置的;可以这样java -cp . Hello; 也可以设置好环境变量classpath;

你可能会犯一种错: 如果Hello.java 第一行是:package mail; 你就会产生一个mail目录,目录下是Hello.class,这可能不是你输入java Hello时预料的;把package这一行去掉就好咯。

另外,虽然DOS是大小写不敏感的,但是在java执行命令的时候它是敏感的,所以不要把Hello写成hello;

ubuntu的区别

路径跟windows写法不一样,分号->冒号;没有cp这个缩写.

参考资料

www.stackoverflow.com

《JAVA核心技术》

时间: 2024-10-15 05:03:58

JAVA代码在命令行下的编译的相关文章

Linux命令行下编译Android NDK的示例代码

这几天琢磨写一个Android的Runtime用来加速HTML5 Canvas,让GameBuilder+CanTK 不但开发速度快,运行速度也能接近原生应用.所以花了点时间研究 Android NDK,网上的资料都是讲IDE里的编译方法,这里记录一下命令行下的编译方法,供有需要的朋友参考. 这里以编译hello-gl2为例: 0.安装Android NDK/SDK,设置PATH变量(根据具体情况调整) PATH=$PATH:/work/android/android-sdk-linux/pla

使sublimetext3在ubuntu下可以打中文和在windows的dos命令行下正常显示中文

学习闲暇之余,总结一下在windows和ubuntu下使用sublimetext3遇到的问题 一.关于sublimetext3在windows的dos命令行下不能编译运行中文的解决方案: 因为dos命令行默认的是gbk编码,所以需要按照如下方式来编译 javac -encoding UTF-8 xxx.java 这样运行class文件就可以正常显示中文了 二.关于sublimetext3在ubuntu下不能打中文的解决方案 首先需要在ubuntu上安装一个搜狗输入法,而搜狗输入法建立在fcitx

Java初学者:java是如何在命令行下编译运行程序的

我们上文书说到,我们首先安装Java,然后设置Java环境,然后编译运行了一个简单的Java程序,在命令行模式下显示了一个“Hello baby”.那么,为什么呢?发生了什么呢? 首先,下载安装Java就不用问为什么了对吧?所谓巧妇难为无米之炊,没有Java却想用,这不可能的. 其次,为什么我们要那样设置Java的运行环境呢? 因为,目前为止,我只是想在命令行下编译运行java程序,这样一来,你就需要让命令行模式识别java的命令.而命令行下能自动识别的命令,必须我们手动的把命令的路径添加进去.

ubuntu下使用java、javac命令行编译工程

一.java和javac命令行 (1)javac命令行 javac.exe用于编译java源文件,生成.class文件 语法:javac  [option]  source 常用的[option]选项: A.-classpath  <路径>(-cp缩写):指定要使用的类路径或要使用的jar包的路径(jar文件.zip文件(里面都是错啦搜索文件)),使用后 会覆盖CLASSPATH的设定 B.-d  <路径> :指定源文件编译后生成.class文件的存放位置 (2)java命令行 j

JNI之——在cmd命令行下编译执行C/C++源文件

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46604269 一直用java来敲代码,java配置好jre路径之后.在cmd下编译执行.非常方便. 刚好要给一个舍友改下C程序,想到可不能够像java一样在环境变量里配置好C的编译路径呢? 于是上网搜了一下,得到例如以下结果: 一.假设装有VC,那就简单了,由于VC带有C的编译器,能够将此路径设置进环境变量. Windows系统下编译连接源码方法: cl -GX test.c -

ubuntu命令行下java工程编辑与算法(第四版)环境配置

ubuntu命令行下java工程编辑与算法(第四版)环境配置 java 命令行 javac java 在学习算法(第四版)中的实例时,因需要安装配套的java编译环境,可是在编译java文件的时候总是出各种错误,特在此总结一下. ubuntu下java环境配置 由于网上教程比较多,而且也较全面,特此摆放一个链接,跟着此教程总就可以配置好oracle的java jdk,如果想更加省事,直接在命令行下键入java,会提示安装各种开源java jdk,只需要一个命令即可: sudo apt-get i

JNI之——在cmd命令行下编译运行C/C++源文件

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46604269 一直用java来写程序,java配置好jre路径之后,在cmd下编译运行,很方便. 刚好要给一个舍友改下C程序,想到可不可以像java一样在环境变量里配置好C的编译路径呢? 于是上网搜了一下,得到如下结果: 一.如果装有VC,那就简单了,因为VC带有C的编译器,可以将此路径设置进环境变量. Windows系统下编译连接源代码方法: cl -GX test.c -GX

ubuntu下用java代码调用命令将java格式文件转换为html格式文件

首先我们应该在电脑上装上GNU Source-highlight 3.1.7,给个链接参考: http://www.gnu.org/software/src-highlite/#mozTocId120994 下面代码实现了 将java类型的代码转换为html文件类型的代码,如果java代码的文件名为 helloword.java,则转换为html格式的文件名为helloword.java.html,将java代码在浏览器上显示出来.其次我还将html文件中的内容提取出来,便于在html文件里编写

命令行下Jar包打包小结

jar包打包实现 第一种简单的打包方式 第二种打包方式 MANIFEST文件介绍 小结 jar包打包实现 jar包打包可以使用jar指令实现打包,在命令行中输入jar可以查看jar指令的内容 从最后显示的两个示例看出存在两种打包的方法,两者的区别就是是否使用自己定义的MANIFEST清单文件.第一个示例没有使用MANIFEST文件进行打包,所以最终生成的jar包中MANIFEST文件为默认文件,这种方式适用于比较简单的jar包结构,不存在其他jar包依赖以及生成的jar包不需要可执行.这种方式生