Eclipse和Tomcat对JDK与JRE的使用

今天碰到一个异常:java.security.InvalidKeyException: Illegal key size or default parameters
这个异常是因为jar包受限,需要更换jdk和jre下的jar包。在更换jar包以后,编译之后发现并没有生效。改了多次eclipse的配置都没哟效果,原因是tomcat并没有根据自己的jre来进行编译, 当tomcat的jre对应之后问题才得到解决。在调试的时候发现eclipse和tomcat有很多地方配置jdk和jre的地方。所以总结一下。

Eclipse:是一款集成开发的IDE

JDK:java开发工具,用来将.java文件编译成字节码文件;

JRE:java运行时环境,执行编译后得字节码文件;

Maven:一款项目管理工具;

Eclipse中其实内嵌了Java编译器,其编译器的作用等同于jdk中的javac,所以eclipse其实只需要jre就可以编译java文件(在eclipse中当你保存一个java类时,它就会自动编译这个java类,相当于在命令行中用了javac这个命令)。但如果你在eclipse中用了maven这样的工具,可能就无法编译了。因为maven默认使用javac来编译项目的,也就是需要jdk,而如果你的eclipse中某maven项目只指定了jre,就会出现无法编译的情况。就像是启动Tomcat只需要jre,原因是Tomcat中已经包括了源代码编译器,不需要jdk中的javac来编译。

Eclipse中有几处会用到jdk和jre的,下面列出几个,也是我混乱之处所在:

A. Window->preferences->Java->Installed JREs


这里Installed JREs中的可以理解为“全局常量”,这里设置好,之后新建的项目都默认用这里选定的jre或者jdk,但如果项目中用了maven的话,前面说了maven默认的是jdk中的javac来编译,所以如果这里还是用jre的话就会maven install出错,需要选择jdk才行。更改直接Add->Standard VM,点击directory,选择相应的jdk或者jre路径确定即可。

B.给不同的项目选择不同的jre

右击项目名称->build path->configure build path,选择libraries选项卡,选中jre:


点击edit:


可根据不同的需求选择不同的选项卡,并按照提示完成操作即可。注意,当你选择第二个选项卡“替代JRE”时,eclipse会跳转至installed jre中让你选择,因此,需要你提前在installed jre中配置好。

C. Window ->preferences->java->compiler


这里也会有一个jdk的选择,就是编译时jdk的版本,需要注意的一点是:

编译时的jdk版本不能高于项目build path中的jdk即运行时jdk,因为高版本中的有些功能在低版本中并不提供。例如,项目中用了泛型,编译时为jdk1.5但运行时为jdk1.4,虽然编译时不报错,但运行时就会出错,因为jdk1.4并不支持泛型;反过来,编译时为jdk1.4而运行时为jdk1.5,虽然编译时报错,但却可以正确运行。

D:修改tomcat运行的jre

Window ->preferences->Server->Runtime Environments

按照提示选择jre进行操作。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值