前一段时间,曾不止一次的尝试过,如何把一个分布式的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. 多进程-Pipe和Manager数据共享和传递

    pipe.py#多进程数据传递接收和发送(类似socket) from multiprocessing import Process,Pipe def f(conn): conn.send([42,N ...

  2. leecode刷题(24)-- 翻转二叉树

    leecode刷题(24)-- 翻转二叉树 翻转二叉树 翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 ...

  3. postgres 常规操作杂记

    分布式:1.扩容不方便(数据重分布)2.分布键变更很麻烦3.分布键选择(架构设计)谨慎4.跨库join性能差5.分布式事务性能差6.sql限制多,功能确实多7.应用改造成本巨大8.全局一致性时间点恢复 ...

  4. Centos7:tomcat8.5安装,配置及使用

    1.解压缩 2.启动 ./startup.sh//启动 ./shutdown.sh//关闭 tail -f ../logs/catalina.out//查看日志

  5. Ngnx工作原理(1)

    Nginx 是一个轻量级的HTTP 服务程序,相比其他服务器程序如Apache,Nginx占用内存少,稳定性高,并发处理能力强.同时Nginx 还是一个反向代理服务程序,和邮件代理服务程序.Nginx ...

  6. XAMPP环境搭建及同类推荐

    一.什么是xampp XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.这个软件包原来的名字是 LAMPP,但是为了避免误解,最新的几个版本就改名为 XAMPP ...

  7. RouterOS Firewall v6 流程图

    1. Firewall v5和Firewall v6对比图 2.Firewall v6的流程图

  8. cmd中subst的使用

    SUBST [drive1: [drive2:]path] drive1:        指定要指派路径的虚拟驱动器.[drive2:]path  指定物理驱动器和要指派给虚拟驱动器的路径. 路径替换 ...

  9. 【转载】C++ 11中的右值引用

    本篇随笔为转载,原博地址如下:http://www.cnblogs.com/TianFang/archive/2013/01/26/2878356.html 右值引用的功能 首先,我并不介绍什么是右值 ...

  10. CSS中cursor属性

    光标类型   CSS十字准心 cursor: crosshair;手 cursor: pointer;cursor: hand;写两个是为了照顾IE5,它只认hand.等待/沙漏 cursor: wa ...