问题:
我的 idea 版本:IntelliJ IDEA 2018.2.4
(只说问题不放版本的都是耍流氓!!!)
首先idea需要同时打开两个用到 Tomcat 的 web 项目,注意,与其他软件不一样的是双击 idea 不能打开第二个idea窗口,而是需要在菜单栏的 File 中打开:
然后在两个 idea 窗口中跑两个 Tomcat,我开启的分别是 Tomcat7 和 Tomcat8 ,并且我的 Tomcat7 已经修改了端口号为8070,不会有端口冲突问题。
但是我在第一个 idea 窗口启动了 Tomcat7(host:8070)之后,在第二个 idea 窗口启动 Tomcat8(host:8080)时,idea 会报端口冲突的问题,即无法启动 Tomcat8(host:8080),占用的端口号为 1099。
解决方法:
打开 Tomcat 配置页面,就可以发现 idea 的1099 端口,把端口号修改为未被使用的任意端口即可。
修改之后,就可以完成两个 idea 窗口同时运行两个 web 项目了~~~
原因:
JVX是什么:JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。
上边是官方介绍,网上有这样一段话,可以让我们理解一下JVX:
1、程序初哥一般是写死在程序中,到要改变的时候就去修改代码,然后重新编译发布。
2、程序熟手则配置在文件中(JAVA一般都是properties文件),到要改变的时候只要修改配置文件,但还是必须重启系统,以便读取配置文件里最新的值。
3、程序好手则会写一段代码,把配置值缓存起来,系统在获取的时候,先看看配置文件有没有改动,如有改动则重新从配置里读取,否则从缓存里读取。
4、程序高手则懂得物为我所用,用JMX把需要配置的属性集中在一个类中,然后写一个MBean,再进行相关配置。另外JMX还提供了一个工具页,以方便我们对参数值进行修改。
感兴趣的话,我找到一篇文章:JVX的超详细解读