Eclipse開發,編譯,打包常見問題總結------持續更新


在使用Eclipse開發,編譯,打包常見問題如下:

1、  保證本地開發的客戶端與服務端使用的jdk版本一致

2、  保證本地開發的客戶端與服務端使用的依賴jar包版本一致(比如本地thrift 客戶端使用的libthrift版本和服務端使用的libthrift使用的版本)。不要版本不兼容

3、  保證本地依賴的jar包版本之間不沖突(可以通過pom.xml的dependency hierarchy窗口查看依賴沖突;然后使用maven的打包工具maven-jar-plugin解決版本沖突)(引用jar包實際上是使用jar包內的class文件,如果多個jar包里都有com.test.study這個類,但是每個類的實現不同。就會導致混亂不知道引用哪一個。找不到指定類。)

4、  用Eclipse打可執行jar包時:launch configuration里經常會找不到我們要打包的工程。那是因為這個工程我們從來沒有運行過。必須要編譯運行通過一次,我們才可以在launch configuration里找到我們要打包的工程。如果工程中我們還依賴了第三方jar包,下面三個對應選型分別對第三方jar包做了處理。1)將依賴jar包的class文件提取出來和工程源碼一起編譯 ;2)將依賴jar包和工程一起打包(此時生成的manifest清單中classpath指定了依賴jar的查找路徑就在當前可執行jar包的所在目錄下 ) 3)將依賴jar包 單獨打到一個子文件夾下比如mylib。這個文件夾和我們的可執行jar包在一個目錄(此時生成的manifest清單中,classpath指定了依賴jar的查找路徑就在當前可執行jar包的所在目錄下的子文件夾里eg:mylib )。

       用maven 打jar包時:可以分別選擇打包插件比如maven-jar-plugin(manifest中配置mainclass和classpath),maven-assembly-plugin或者maven-shade-plugin(將依賴包和工程打到一個包里)

!!!一定要弄清楚程序編譯和運行時的classpath

 

 

5、 在編譯和運行時,如果依賴某個資源文件resources。如果不是指定全路徑來打開這個文件,則需要保證這個文件在編譯和運行的(classpath)路徑上。普通Java項目默認的classpath是src文件夾下的內容;如果想要某個文件夾下(eg:test_resources)的資源被自動程序自動搜索到,則需要將test_resources添加到Java build path中(右鍵properties>java build path>sources);maven 項目,默認的classpath是src/main/java 和 src/main/resourse目錄。如果想把資源拷出來,則用maven-resource-plugins插件編譯

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM