如何使用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 ...
随机推荐
- P3488 [POI2009]LYZ-Ice Skates
传送门 这一题基础是二分图匹配,并且要知道一个 $Hall$ 定理:对于二分图能完全匹配的充要条件是,设点数少的那边为左边,点数为 $n$,对于 $k \in [1,n]$ ,左边任意 $k$ 个点, ...
- hadoop批量命令脚本xcall.sh及jps找不到命令解决
1.xcall.sh批量命令脚本: #!/bin/bash params=$@ i=128 for (( i=128 ; i <= 131 ; i = $i + 1 )) ; do echo = ...
- vue组件之事件
自定义事件 通过prop属性,父组件可以向子组件传递数据,而子组件的自定义事件就是用来将内部的数据报告给父组件的. <div id="app3"> <my-com ...
- win7下CodeIgniter安装
一.CodeIgniter是什么 CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包. 它的目标是让你能够更快速的开发,它提供了日常任务中所需的大量类库, 以及简单的接 ...
- Linux添加虚拟网卡的多种方法
Linux添加虚拟网卡的多种方法有时候,一台服务器需要设置多个ip,但又不想添加多块网卡,那就需要设置虚拟网卡.这里介绍几种方式在linux服务器上添加虚拟网卡. 我们向eth0中添加一块虚拟网卡: ...
- 001-CentOS 7系统搭建Rsyslog+LogAnalyzer解决交换机日志收
日志功能对于操作系统是相当重要的,在使用中,无论是系统还是应用等等,出了任何问题,我们首先想到的便是分析日志,查找问题原因.自 CentOS 7 开始,我们的 CentOS 便开始使用 rsyslog ...
- Python基础:深浅拷贝
对于数字.字符串深浅拷贝: import copy num = 0 copy_num = copy.copy(num) print("These are normal copy") ...
- Python 2中万恶的字符编码
Python2中如果文件存在中文,必须要指定#-*- coding:utf8 -*-或#coding:utf8,否则会报错.那这是为什么呢? 一.原理解析 我们知道,在计算机发展初期,计算机只能识别字 ...
- Windows10永久激活的工具
最近发现一个很好用的Windows10 永久激活的工具,比KMS什么的管用,而且无毒无公害.几乎支持所有的win10版本.感兴趣的朋友可以试试.之前win10没洗白的同学,也试试吧,说不定就洗白了呢. ...
- ZenCart通过Contact Us接收垃圾邮件的过滤方案
最近收到一些通过Contact Us进行垃圾外链群发的邮件,虽然可以通过在Contact Us增加验证码来解决,但不利于客户体验.所以我们可以通过简单的关键词过滤来实现,一般垃圾外链都含有“[url= ...