java ----> 手動編譯java項目

來源:互聯網
上載者:User

標籤:lang   分享圖片   mysq   www.   tor   手動編譯   分享   ima   def   

環境:

jdk1.8,cmd,notepad++

建立java工程test,建立檔案夾:

src

classes

lib 

說明:

src 放置.java檔案

classes 放置.class檔案

lib 放置工程需要的依賴jar包

 

開啟cmd,cd到test,

javac

1 javac -d .\classes -classpath .\lib\x1.jar;.\lib\x2.jar;...... .\src\*.java

說明:

-d .\classes 指定編譯後的classes檔案放置到當前檔案夾classes

.\src\*.java 當前檔案夾所有的java檔案

-classpath .\lib\x1.jar;x2.jar;......  指定依賴jar包的位置,有多個用分號(;)隔開。linux下用冒號(:)隔開

java

1 java -classpath .\classes;.\lib\x1.jar;.\lib\x2.jar;..... mainclassname

說明:

-classpath .\classes;.\lib\x1.jar;x2.jar;..... 指定要參與啟動並執行class檔案(包括依賴jar包)的位置

mainclassname 指定主類的全限定名稱

jar

cd到classes檔案夾,

1 jar -cvf xx.jar .\*

產生xx.jar後,用壓縮軟體開啟,修改META-INF檔案夾中的MANIFEST.MF檔案

增加兩個屬性:

Main-Class和Class-Path

Main-Class指定程式的入口類,也就是main函數所在的類

Class-Path指定程式依賴的jar包所在位置,多個jar包用空格隔開

注意MANIFEST.MF檔案最後一行要是空行。不然會報java.lang.NoClassDefFoundError之類的錯誤,相當於沒有搜尋到指定的jar包。

1 Manifest-Version: 1.02 Created-By: 1.8.0_172 (Oracle Corporation)3 Main-Class: 主類的全限定名稱4 Class-Path: ../lib/xxx1.jar ../lib/xxx2.jar

運行jar包

1 java -jar xx.jar

 

以mybatis的自動產生sql map為例做一下實驗:

 

1 javac -d .\classes -classpath .\lib\mybatis-3.2.3.jar;.\lib\mybatis-generator-core-1.3.2.jar;.\lib\mysql-connector-java-5.1.28-bin.jar;.\lib\log4j-1.2.16.jar .\src\*.java

 

1 java -classpath .\classes;.\lib\mybatis-3.2.3.jar;.\lib\mybatis-generator-core-1.3.2.jar;.\lib\mysql-connector-java-5.1.28-bin.jar;.\lib\log4j-1.2.16.jar GeneratorSqlmap

 

 運行過程和結果:

 

 

jar

 執行過程和結果

 

note:

必須先在當前建立src檔案夾,否則看不到結果。

要是targetProject屬效能配置成沒有則自動建立src檔案夾就好了

參考文章:

73881568

5009436

7786526

https://www.cnblogs.com/xiazdong/p/3216220.html

java ----> 手動編譯java項目

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.