前一段时间,曾不止一次的尝试过,如何把一个分布式的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

好了大功告成,对于我来说也是一种新得问题的解决吧,可能上面我省略了一些细节,你也可以像我一样参考下面的一些文章,寻找你的答案吧

参考文章:

Intellij IDEA 配置Jetty多个端口

idea如何安装使用jetty runner

在idea使用jetty

idea报duplicate context path '/'

如何使用IDEA运行 一个分布式的项目的更多相关文章

  1. 如何运行一个分布式的Maven项目

    本人也属于一个新手小白,之前在公司运行的项目也都不涉及到maven...但是前两天运行一个maven项目的时候发现,第一次接触这个还是蛮让我措手不及的.在这里整理下自己当时走的弯路,或者遇到的一些问题 ...

  2. 在IIS EXPRESS下运行一个visual studio 项目,跳转到另一个项目的解决方案。

    原因是因为以前有一个项目也是3690端口,然后在3690端口上建立了一个网站,现在的新网站也是用的3690端口,那么会调用以前网站的WEB.CONFIG文件. 解决方法,右键单击网站,然后选择属性.在 ...

  3. 一个word合并项目的分布式架构设计

    一个word合并项目的分布式架构设计 项目背景与问题起源 我们要给一个客户做word生成报告以及报告合并的工作,要合并的报告非常多,而且每个报告也比较大,一个多的报告大概有200页以上.我们用c#操作 ...

  4. 如何运行一个Vue项目

    一开始很多刚入手vue.js的人,会扒GitHub上的开源项目,但是发现不知如何运行GitHub上的开源项目,很尴尬.通过查阅网上教程,成功搭建好项目环境,同时对前段工程化有了朦朦胧胧的认知,因此将环 ...

  5. 如何在Linux中tomcat下运行一个web项目

    如何在Linux中tomcat下运行一个web项目 然后启动Tomcat项目.运行的运行后会自动将war包解压. 如果页面报404,那么请查看tomcat日志文件,它一定是报错了....

  6. centos7下将java -jar命令运行一个项目做成systemd服务

    有些时候运行一个java项目在linux下通过一条简单的java命令即可,如: #nohup java -jar jenkins.war & ###这里为后台运行jenkins 在此背景下,j ...

  7. Laravel 从入门到精通 创建并运行一个新的 Laravel 项目

    创建一个新的 Laravel 项目 正如官方文档所言,有两种方式可以创建一个新的 Laravel 项目,这两种创建方式都是从命令行执行的:第一种是通过全局的 Laravel 安装器,另一种是通过 Co ...

  8. Vue系列——如何运行一个Vue项目

    声明 本文转自:如何运行一个Vue项目 正文 一开始很多刚入手vue.js的人,会扒GitHub上的开源项目,但是发现不知如何运行GitHub上的开源项目,很尴尬.通过查阅网上教程,成功搭建好项目环境 ...

  9. 1.如何运行一个Vue项目

    如何运行一个Vue项目 需要的环境: node.js环境(npm包管理器) vue-cli 脚手架构建工具 cnpm npm的淘宝镜像 1. 安装node.js 从node.js官网下载并安装node ...

随机推荐

  1. 模块之re模块 正则表达式

    正则表达式,正则表达式在处理字符串上有先天的优势,尤其大数量的字符串.先来记一个网站,此网站功能就是关于正则表达式方面的应用http://tool.chinaz.com/regex/ 单纯的正则表达式 ...

  2. Windows 2008 R2阿里云安全基线检查

    设置密码使用期限策略在管理工具打开本地安全策略,打开路径:安全设置\帐户策略\密码策略,将密码最长使用期限设置为30-180之间,建议值为90,将密码最短使用期限设置为1-14之间,建议值为7. 风险 ...

  3. IntelliJ IDEA setup JDK无效

    参考 问题现象:功能全部爆红,总是提示“setup JDK”,设置JDK后无效.但程序能够正常编译和运行. 解决方法:  File -> Invalidate Caches/Restart -& ...

  4. vue cli更新

    关于旧版本 Vue CLI 的包名称由 vue-cli 改成了 @vue/cli. 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vu ...

  5. MongoDB v4.0 命令

    MongoDB v4.0 命令 官方文档 > 点这里 < 操作系统库 #操作管理员库 use admin #鉴权 db.auth("root","admin& ...

  6. [转载]ubuntu常用命令

    1.帮助      --help简单的帮助      help command 较详细的帮助      man command 最详细的帮助2.ls 命令      ls -a 显示全部的文件及文件夹 ...

  7. 简单了解journalctl

    journalctl 命令 journalctl是什么以及作用? journalctl 用来查询 systemd-journald 服务收集到的日志.systemd-journald 服务是 syst ...

  8. MySQL5.7修改数据库目录!

    MySQL5.7默认安装,修改之前,停止MySQL服务. 数据库目录:C:\ProgramData\MySQL\MySQL Server 5.7\Data 配置文件:C:\ProgramData\My ...

  9. linux 网卡配置详情

    1.配置文件/etc/hosts(本地主机ip地址映射,可以有多个别名)./etc/services(端口号与标准服务之间的对应关系)./etc/sysconfig/network(设置主机名,网关, ...

  10. mysql导入redis

    将mysql中数据库指定表导入redis 如何将mysql中某个数据库中的表数据快速导入redis? 以下将演示将本地127.0.0.1中数据库test中的表t_abc导入本地redis中.步骤如下: ...