Linux下用命令行编译运行Java总结 |
您所在的位置:网站首页 › javac编译命令 › Linux下用命令行编译运行Java总结 |
最近使用腾讯云的Cloud Studio写Java,只能使用命令行进行编译运行,趁此机会,学习一下Linux的一些常用命令。平时windows下IDE用习惯了,现在用命令行进行编译运行,发现其实问题还是挺多的,所以写下这篇文章。 1.javac命令行javac用于编译java源文件,生成.class文件。形式如下 javac [option] source常用的option选项有如下 -classpath (可以简写成 -cp):指定要使用的类路径或要使用的jar包的路径。 -d :指定源文件编译后生成的.class文件的存放位置。 2.java命令行java用于运行生成的.class文件。形式如下 java [option] classname [arguments]常用的option选项有如下 -classpath (可以简写成 -cp):指定要使用的类路径或要使用的jar包的路径。 [arguments]:传递给main函数的参数。 3.编译运行一个单独的Java文件在test文件夹下有一个Test.java文件,结构如下 (1)编译生成的.class文件在当前文件夹下 // 编译 javac Test.java // 运行 java Test // 输出 Hello World!(2)也可以指定编译生成的.class文件的路径,比如生成在当前文件夹下的bin文件夹下 // 编译 javac -d ./bin Test.java // 运行 java -cp ./bin Test // 输出 Hello World!当指定生成的目录后,运行时也得指定相应的目录,不然会找不到文件。
(1)编译生成的.class文件在当前文件夹下 // 首先得进入到.java文件所在的文件加下,再进行编译 javac Test.java // 退出到最外层包,再运行,否则找不到文件 java com.codeliu.Test // 输出 Hello World!对于在包下的文件,如果编译后直接运行,会找不到文件,必须得退出到最外层包,然后使用完整的包名+文件名进行运行。
因为Test02引用了Test01,所以我们得先编译Test01,再编译Test02。 // 编译Test01.java,生成的.class文件在当前文件夹下,首先得进入到文件所在的文件夹下,然后进行编译 javac Test01.java // 退出到包的最外层,然后编译Test02.java javac -cp . com/codeliu/Test02.java // 运行Test02.java java com.codeliu.Test02 // 输出 I'm Test01编译Test02的时候,我们使用-cp告诉编译器在当前路径下(.)去寻找Test01.class。 当然,我们也可以指定.class生成的路径,使用-d即可。 文件目录结构如下 还是同样,得先编译Test01.java。 // 编译Test01.java,指定生成的路径是test文件夹下的bin文件夹下 javac -d ./bin com/package1/* // 编译Test02.java,-cp告诉编译器去当前文件夹下的bin文件夹下找Test01.class,-d指定生成的路径 javac -cp bin: -d ./bin com/package2/* // 运行Test02 java -cp bin: com.package2.Test02 // 输出 I'm Test01我们平时的项目肯定不可能是这么简单的,肯定有好多包和以及jar包,这样的情况下,我们使用shell脚本去编译它们。 等下吃完饭举个栗子。 温饱思淫欲,吃饱了我就不想写了。暂时先不写了,俺得学习其他的知识了。个人网站https://www.codeliu.com,欢迎各位志同道合的盆友! 关注微信公众号:秃头哥编程(ID:xp_1311664842),领取编程大礼包。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |