日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

在linux命令行 下学习编写java

發布時間:2025/3/20 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在linux命令行 下学习编写java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于新手來講, 使用eclipse 等IDE來學習java是最為方便和效率的. 學習Java能令程序猿深刻地理解面向對象的編程思想 .


但Java 是一個跨平臺的編程語言. 本文介紹下在命令行下學習java 的一個方案.


當然, Linux下也有eclipse IDE, 但在命令下學習能讓人更深刻地理解CLASSPATH env variable的概念,? javac java 命令的使用. 在工作中, 很多大型項目java代碼都必須在unix服務器上編譯,? 反正就是提供1個別的java 學習方案啦.


1. 編寫代碼

1.1 目錄結構

很多Java初學者教材的例子都會利用javac 命令編譯java文件, 把編譯后的class文件生成到源代碼的當前目錄下.

但我建議應該一開始就應該把源代碼目錄和編譯后class的目錄分開.


下面是1個列子

gateman@TFPC ant_test $ tree . |-- build | `-- classes | `-- hello | `-- ant |-- build.xml `-- src`-- main`-- hello`-- ant`-- HelloAnt.java
?如上面的目錄結構,? ant_test是1個項目文件夾.

其中src/main 目錄用來存放源代碼文件

build/classes 就用來存放編譯后的class 文件了, 跟eclipse生成的項目結構類似.


1.2 文本編輯器

在命令下文本編輯工具無非就是vim, emacs, nano 了...

個人建議用vim,? 當然使用居有gui的gvim,? gedit等會更方便,? 這些文本編輯器也居然語法高亮功能, 但是文本補全沒有eclipse等IDE強大,? 不過我建議新手還是老實得1個1個字符自己敲好一點.

下面我在/src/main下新寫了1個java文件?? ./hello/ant/HelloAnt.java

package hello.ant;public class HelloAnt{public static void main(String[] args){System.out.println("hello ant, it's the my meeting with ant!\n");} }

注意這個文件包含了包層次 hello.ant


2. 編譯代碼

可以一開始嘗試使用javac 來編譯源代碼. 但是當你寫的源代碼文件越來越多, 互相引用的時候, 使用javac就可能要執行多次不太方便了,? 當然可以類似c語言一樣使用makefile.


我沒利用過makefile來編譯java項目,? 不過我估計跟c語言makefile的寫法是差不多的.

這里我介紹下1個更流向的java編譯工具 ant.?? 本屌公司也是用ant來編譯java的.


就利用上面的目錄結構作為例子.

在項目文件夾的根目錄下新建1個build.xml

<?xml version="1.0" encoding="GB2312" ?><!-- a project, maybe includes many groups of tasks(targets) --> <project default="main" basedir="."><!-- one of the tasks(target) --><target name="main"><!-- compile --><javac srcdir="src\main\hello\ant" destdir="build\classes"><!-- run --><java classname="hello.ant.HelloAnt"><classpath><pathelement path="build\classes"/></classpath></java></target></project>


其中上面的運行部分不添加也沒所謂.? 關鍵是compile的部分.


編寫好build.xml后

在項目根目錄下執行

ant -file build.xml 就可以編譯了

gateman@TFPC ant_test $ ant -file build.xml Buildfile: /media/store1/Studies/Java/java_start/ant_test/build.xmlmain:[javac] /media/store1/Studies/Java/java_start/ant_test/build.xml:10: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds[javac] Compiling 1 source file to /media/store1/Studies/Java/java_start/ant_test/build/classes[java] hello ant, it's the my meeting with ant![java] BUILD SUCCESSFUL Total time: 1 second

如果在build.xml 添加了運行部分, ant還會在編譯后執行一次. 如上面的輸出.




3. 運行class文件

ant編譯后,? 會把生成的class文件放到build/classes目錄下(根據build.xml的設置).

我們可以利用java命令來單獨執行行生成后的class


建議先查看下$CLASSPATH 變量, 如果添加了當前目錄"."的話就驅動哦啊

build/classes 下

執行 java hello.ant.HelloAnt

注意要把包層次補全了. 不如提示會找不到class

gateman@TFPC classes $ java hello.ant.HelloAnt hello ant, it's the my meeting with ant!
如果想在其他目錄執行那個class文件, 則必須利用-classpath 參數指定目錄

如:

gateman@TFPC ant_test $ pwd /home/gateman/Studies/Java/java_start/ant_test gateman@TFPC ant_test $ java -classpath ./build/classes hello.ant.HelloAnt hello ant, it's the my meeting with ant!gateman@TFPC ant_test $



4. 調試class文件

安裝了jdk后, 我們可以利用jdb來調試java編譯后的class

跟gdb 一樣, 使用jdb的前提是編譯時加入調試信息, ?也就是在javac 后面加上-g 參數.

如果使用ant編譯的話, 則要在 build.xml的 ?<javac> 條目里添加兩個屬性: debug 和 debuglevel

<javac srcdir="src\main\hello\ant" destdir="build\classes" debug="on" debuglevel="lines,vars,source"/>


具體怎么使用這里就不詳細講了, 估計跟gdb差不多.

gateman@TFPC ant_test $ jdb -classpath ./build/classes hello.ant.HelloAnt 正在初始化jdb... > run 運行hello.ant.HelloAnt 設置未捕獲的java.lang.Throwable 設置延遲的未捕獲的java.lang.Throwable > VM 已啟動: hello ant, it's the my meeting with ant!應用程序已退出



總結

以上是生活随笔為你收集整理的在linux命令行 下学习编写java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。