如何使用IDEA运行 一个分布式的项目
前一段时间,曾不止一次的尝试过,如何把一个分布式的maven项目,用IDE运行起来.连续的几次失败,让我明白之前启动的方式是有问题的.因此把正确的启动方式整理了一下 .引以为戒
一.起初启动失败的原因
起初失败的原因,我在启动IDE中的项目 ,习惯于 Eclipse中的项目启动方式混为一谈,因为eclipse启动maven,项目是需要install,之后使用jetty插件启动所需要启动的项目.但是在IDE中如果直接install就会直接抛出错误,然而这个错误,我直接查询百度或者谷歌,也是看的比较迷糊的,所以之前启动失败错误几次之后,我就一直怀疑是我的maven配置有问题,而不是怀疑我启动存在问题.
启动失败的时候抛出的异常名字:MojoExecutionException
二.尝试使用tomcat启动项目,以及出现的问题
感觉相对于之前使用 eclipse来说 ,用IDE启动项目要方便了许多 ,因为分布式项目 ,在eclipse中需要打包之后一个个开启,相对来说IDE就容易了一些,启动一个工程把所需要开启的同时配置上,也不需要打包什么的,之后端口号配置好就可以运行了.但是比较让人头疼的就是编译器的一些使用习惯差距还是比较大的.
我这边使用的是java8,因此tomcat是直接从官网下载的tomcat1.85
因为我这边运行的时候需要同时开启service,所以在配置的时候 ,添加了两个,一个是需要打开的主应用,另一个就是它的service.
注意那个存在多个依赖的话 Application context ,一定不要使用默认值 ,否则会提示错误的
之后就是开启运行项目, 这边运行之前除了一些问题,就是端口号不一致 ,与配置文件的不一致,就导致在加载的时候出现显示的问题, 之后修改了一下.也就能正常开启了.
三.为IDEA安装Jetty插件,以配置Jetty出现的问题
相对于,使用tomcat开启项目,使用jetty插件开启项目,需要注意的可能会比较多一点,首先要保证,项目的pom.xml里面对jetty的支持与否,如果不支持的话,余下的环节也都无法进行.
使用IDE运行jetty有两个环节
1.下载jetty到本地(这边,这个和下载tomcat,maven什么的都一致,从官网下载 ,如果java版本比较高的话,尽量下载最新版本的jetty)
2.下载jetty runner插件并开启
之后的开启其实和,tomcat,差不多,但是有一点注意的是 ,tomcat启动的时候有个单独的项目端口号,但是在Jetty配置的时候展现方式可能有所不同,就在我下图展示的地方 ,-Djetty.port=8060
这个是针对jetty启动的项目端口号的配置
余下的依赖和tomcat写法也是一致的.
四.尝试使用jetty启动项目,以及出现的问题
在配置的时候可能会报一个错误,就是 duplicate context path '/'的错误 ,这个是因为依赖里面的,如果依赖里面有多个依赖,都没有没有写具体名称,而是使用默认的'/'就会报这样的错误, 我们把默认的名字修改下就可以 .
高版本的jetty,在启动的时候会提示,让你选择module,实际上这里面我们不需要进行选择,我们可以在
加上这样的一行
--module=jmx
好了大功告成,对于我来说也是一种新得问题的解决吧,可能上面我省略了一些细节,你也可以像我一样参考下面的一些文章,寻找你的答案吧
参考文章:
idea报duplicate context path '/'
如何使用IDEA运行 一个分布式的项目的更多相关文章
- 如何运行一个分布式的Maven项目
本人也属于一个新手小白,之前在公司运行的项目也都不涉及到maven...但是前两天运行一个maven项目的时候发现,第一次接触这个还是蛮让我措手不及的.在这里整理下自己当时走的弯路,或者遇到的一些问题 ...
- 在IIS EXPRESS下运行一个visual studio 项目,跳转到另一个项目的解决方案。
原因是因为以前有一个项目也是3690端口,然后在3690端口上建立了一个网站,现在的新网站也是用的3690端口,那么会调用以前网站的WEB.CONFIG文件. 解决方法,右键单击网站,然后选择属性.在 ...
- 一个word合并项目的分布式架构设计
一个word合并项目的分布式架构设计 项目背景与问题起源 我们要给一个客户做word生成报告以及报告合并的工作,要合并的报告非常多,而且每个报告也比较大,一个多的报告大概有200页以上.我们用c#操作 ...
- 如何运行一个Vue项目
一开始很多刚入手vue.js的人,会扒GitHub上的开源项目,但是发现不知如何运行GitHub上的开源项目,很尴尬.通过查阅网上教程,成功搭建好项目环境,同时对前段工程化有了朦朦胧胧的认知,因此将环 ...
- 如何在Linux中tomcat下运行一个web项目
如何在Linux中tomcat下运行一个web项目 然后启动Tomcat项目.运行的运行后会自动将war包解压. 如果页面报404,那么请查看tomcat日志文件,它一定是报错了....
- centos7下将java -jar命令运行一个项目做成systemd服务
有些时候运行一个java项目在linux下通过一条简单的java命令即可,如: #nohup java -jar jenkins.war & ###这里为后台运行jenkins 在此背景下,j ...
- Laravel 从入门到精通 创建并运行一个新的 Laravel 项目
创建一个新的 Laravel 项目 正如官方文档所言,有两种方式可以创建一个新的 Laravel 项目,这两种创建方式都是从命令行执行的:第一种是通过全局的 Laravel 安装器,另一种是通过 Co ...
- Vue系列——如何运行一个Vue项目
声明 本文转自:如何运行一个Vue项目 正文 一开始很多刚入手vue.js的人,会扒GitHub上的开源项目,但是发现不知如何运行GitHub上的开源项目,很尴尬.通过查阅网上教程,成功搭建好项目环境 ...
- 1.如何运行一个Vue项目
如何运行一个Vue项目 需要的环境: node.js环境(npm包管理器) vue-cli 脚手架构建工具 cnpm npm的淘宝镜像 1. 安装node.js 从node.js官网下载并安装node ...
随机推荐
- sql server if else
DECLARE IF (@sex = '1')BEGIN PRINT '2'END ELSE BEGIN PRINT(1) END begin... end可以省略 declare @sex int ...
- SpringDataJpa实体类常用注解
最近公司在使用SpringDataJpa时,需要创建实体类,通过实体类来创建数据库表结构,生成数据库表. 下面我们就来看下在创建实体类时一些常用的注解吧!!! 1.实体类常用注解 @Entity 标识 ...
- php重定向的三种方法分享
一.用HTTP头信息 也就是用PHP的HEADER函数.PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如: 声明返回信息的类型(" ...
- leetcode 1051. Height Checker
Students are asked to stand in non-decreasing order of heights for an annual photo. Return the minim ...
- vue-resource 全局拦截器
项目中可能会添加超时登录的功能,因此根据tokenid 判断是否超时.如果token已过期,需要跳转至登录页面. 因此需要用到全局拦截器拦截返回的状态 //下边代码添加在main.js中 Vue.ht ...
- XAMPP环境搭建及同类推荐
一.什么是xampp XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.这个软件包原来的名字是 LAMPP,但是为了避免误解,最新的几个版本就改名为 XAMPP ...
- 服务命令(systemctl的使用)
常用的service与systemctl命令的对比 应用举例: ●start:开启服务 ●stop:停止服务 ●status:参数来查看服务运行情况 ●restart:重新加载服务 应用举例·: #启 ...
- Hibrenate实现根据实体类自动创建表或添加字段
Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 实现: 在配置hibernate的配置文件中将hbm2ddl.auto设置为update,如:Xml代码&l ...
- string::empty
bool empty() const noexcept;注:判断string对象是否为空,为空返回true #include <iostream>#include <string&g ...
- Linux文件类型和文件相关命令
文件类型 ll后可以看到文件详情: -:常规文件(内部类型是什么,用file命令) d:directory,目录文件 b:blobk device,块设备文件,支持以“block”为单位进行随机访问 ...