Ⅰ 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包还有可能被攻击,如果有漏洞的话。