Ⅰ jdk1.8下maven3.3.3報錯版本不對.除了用jdk1.6,還有什麼辦法嗎
maven 3.3 .3貌似還不支持jdk8,我也遇到了這問題,最後換了7好了官網貌似說支持7及以上的版本,但是確實不行。不過java多版本可以同時存在,你不想刪除8可以重新再裝個7或6,alias命令動態切換java版本就可以了。
具體操作:
1、打開終端 cd到根路徑, cd -
2、輸入vi .bash_profile打開bash配置文件
3、再配置文件bash配置文件下新增JAVA_HOME的路徑
export JAVA_6_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
export JAVA_HOME=$JAVA_7_HOME
4、創建alias命令動態切換JAVA_HOME的配置
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk7='export JAVA_HOME=$JAVA_7_HOME'
alias jdk6='export JAVA_HOME=$JAVA_6_HOME'
5、終端輸入source .bash_profile 保存配置文件
配置的默認是7,想切換8直接終端輸入jdk8就切換成8了。
Ⅱ 如果一個java工程里,有同一個jar包的多個版本,會有什麼影響
這根據程序應用伺服器的編譯級別級新舊jar包的區別有關。影響可大可小,小則可以忽略,打則直接導致程序無法運行,報錯。建議最好是用更高級版本的jar包後立即刪除舊的。據我所知和經驗得出。websphere的編譯級別比要 tamcat和weblogic嚴格一些。相同的程序,如果有新舊兩個jar包。在tamcat和weblogic中跑可能不會出錯,但是部署到websphere伺服器上很可能會出錯(工作中遇到過,可費了不少麻煩,死活找不出原因)。我猜測原因可能是伺服器允許載入的jar包有區別。比如websphere伺服器上的程序只允許載入兩個相同但版本不同的jar中的一個,而tomcat和weblogic允許程序兩個都載入進去。這樣程序就會找到合適的需要載入的jar包。留下低級的jar包還有可能被攻擊,如果有漏洞的話。