如何使用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 ...
随机推荐
- Collection接口的子接口——Deque接口
https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html public interface Deque<E> exten ...
- Dubbo架构
原文链接http://dubbo.apache.org 架构图 节点角色说明 节点 角色说明 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务 ...
- mysql-8.0.17-winx64 部署
1.官网下载mysql-8.0.17-winx64,选择Zip文件格式下载 2.解压到目标路径,我这里是E盘根目录,即E:\mysql8 3.根目录下创建my.ini,内容如下: [mysqld]#端 ...
- Git复习(二)之远程仓库、注册GitHub账号、SSH警告、使用GitHub
远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都 ...
- postgresql 服务无法启动,日志中报如下错误
1.postgresql 服务无法启动,日志中报如下错误,磁盘空间足够. 无法找到来自源 PostgreSQL 的事件 ID 0 的描述.本地计算机上未安装引发此事件的组件,或者安装已损坏.可以安装或 ...
- thinkphp3.2.3 自动验证 unique 出错的解决办法
场景:修改数据时,唯一验证name字段出错,提示已存在. 排查: 1.传入的参数是否包含主键,因为 D('模型名')->create() 会自动判断是否是新增或者修改,根据传入的参数判断是否包含 ...
- ccs之经典布局(二)(两栏,三栏布局)
接上篇ccs之经典布局(一)(水平垂直居中) 四.两列布局 单列宽度固定,另一列宽度是自适应. 1.float+overflow:auto; 固定端用float进行浮动,自适应的用overflow:a ...
- RT-Thread中的串口DMA分析
这里分析一下RT-Thread中串口DMA方式的实现,以供做新处理器串口支持时的参考. 背景 在如今的芯片性能和外设强大功能的情况下,串口不实现DMA/中断方式操作,我认为在实际项目中基本是不可接受的 ...
- Java入门指南-03 操作符与表达式
一.赋值操作符 在 Java 语言里,等号称为赋值操作符.例:a = b + 100;注意,不要把 Java 语言理解为数学.在 Java 里,这个等号的作用是“赋值”,即右侧的值赋给左边的变量. 要 ...
- CRM项目讲解和django知识点回顾
今天想把之前写的CRM项目梳理下,顺便回顾一下djiango的部分重要知识. 1.登录页面(包含简单验证码) 首先来看下CRM的登录页面,样式啥的不重要,大家可以去jquery ui的网站上或者其他地 ...