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
Eclipse開發,編譯,打包常見問題總結------持續更新