Dropwizard是一个Java框架,其目标是提供高性能、高可靠的Web 应用程序的实现。

一、使用Maven原型创建项目

1、新建项目->选择Maven Archetype

填写好项目名称、路径、选择JDK版本,这里使用JDK11及以上的版本,如下图所示:

2、添加原型

注意上面标明的原型添加的位置,点击添加按钮,输入原型信息,如下图所示:

这里使用的原型信息如下:

GroupId=io.dropwizard.archetypes
ArtifactId=java-simple
Version=4.0.0

具体使用哪个版本的原型可以参考:

dropwizard/dropwizard-archetypes at master · dropwizard/dropwizard · GitHub

原型添加成功之后,会出现附加的属性信息如下:

3、高级设置后创建项目

设置当前项目的信息后点击创建项目,如下:

项目创建成功之后,对应的项目目录如下:

二、启动项目

这里我们直接运行 trueApplication会打印以下提示信息:

usage: java -jar project.jar [-h] [-v] {server,check} ...positional arguments:{server,check}         available commandsnamed arguments:-h, --help             show this help message and exit-v, --version          show the application version and exit

从上面打印出的提示信息来看,运行项目需要使用包才能运行;

这里,我们直接修改pom文件,配置包执行插件:

1、在build -> pluginMangement -> plugins 下添加插件

<plugin><groupId>org.codehaus.mojo</groupId><artifactId>exec-maven-plugin</artifactId><version>3.1.0</version>
</plugin>

插件的版本可以在maven仓库中找到,地址如下:

Maven Repository: org.codehaus.mojo » exec-maven-plugin (mvnrepository.com)

2、在build -> plugins 下添加插件执行的配置

<plugin><groupId>org.codehaus.mojo</groupId><artifactId>exec-maven-plugin</artifactId><configuration><mainClass>org.example.trueApplication</mainClass><arguments><argument>server</argument></arguments></configuration>
</plugin>

重新加载maven配置后,会在maven工具中看到exec插件,如下图:

双击exec插件下的exec:java,项目就能正常启动了,项目启动的日志如下:

[INFO] Scanning for projects...
[INFO]
[INFO] --------------------------< org.example:demo >--------------------------
[INFO] Building true 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- exec-maven-plugin:3.1.0:java (default-cli) @ demo ---
WARN  [2023-05-20 15:09:32,509] org.hibernate.validator.internal.properties.javabean.JavaBeanExecutable: HV000254: Missing parameter metadata for ResponseMeteredLevel(String, int), which declares implicit or synthetic parameters. Automatic resolution of generic type information for method parameters may yield incorrect results if multiple parameters have the same erasure. To solve this, compile your code with the '-parameters' flag.
INFO  [2023-05-20 07:09:32,657] io.dropwizard.core.server.DefaultServerFactory: Registering jersey handler with root path prefix: /
INFO  [2023-05-20 07:09:32,659] io.dropwizard.core.server.DefaultServerFactory: Registering admin handler with root path prefix: /
INFO  [2023-05-20 07:09:32,667] io.dropwizard.core.server.ServerFactory: Starting true
================================================================================true================================================================================INFO  [2023-05-20 07:09:32,784] org.eclipse.jetty.setuid.SetUIDListener: Opened application@daffda3{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
INFO  [2023-05-20 07:09:32,784] org.eclipse.jetty.setuid.SetUIDListener: Opened admin@603b59db{HTTP/1.1, (http/1.1)}{0.0.0.0:8081}
INFO  [2023-05-20 07:09:32,787] org.eclipse.jetty.server.Server: jetty-11.0.14; built: 2023-02-22T23:41:48.575Z; git: 4601fe8dd805ce75b69c64466c115a162586641b; jvm 11.0.19+7-LTSINFO  [2023-05-20 07:09:33,444] io.dropwizard.jersey.DropwizardResourceConfig: The following paths were found for the configured resources:NONEINFO  [2023-05-20 07:09:33,448] org.eclipse.jetty.server.handler.ContextHandler: Started i.d.j.MutableServletContextHandler@62902118{/,null,AVAILABLE}
INFO  [2023-05-20 07:09:33,452] io.dropwizard.core.setup.AdminEnvironment: tasks = POST    /tasks/log-level (io.dropwizard.servlets.tasks.LogConfigurationTask)POST    /tasks/gc (io.dropwizard.servlets.tasks.GarbageCollectionTask)WARN  [2023-05-20 07:09:33,452] io.dropwizard.core.setup.AdminEnvironment:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!    THIS APPLICATION HAS NO HEALTHCHECKS. THIS MEANS YOU WILL NEVER KNOW      !
!     IF IT DIES IN PRODUCTION, WHICH MEANS YOU WILL NEVER KNOW IF YOU'RE      !
!    LETTING YOUR USERS DOWN. YOU SHOULD ADD A HEALTHCHECK FOR EACH OF YOUR    !
!         APPLICATION'S DEPENDENCIES WHICH FULLY (BUT LIGHTLY) TESTS IT.       !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
INFO  [2023-05-20 07:09:33,453] org.eclipse.jetty.server.handler.ContextHandler: Started i.d.j.MutableServletContextHandler@29f22138{/,null,AVAILABLE}
INFO  [2023-05-20 07:09:33,485] org.eclipse.jetty.server.AbstractConnector: Started application@daffda3{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
INFO  [2023-05-20 07:09:33,494] org.eclipse.jetty.server.AbstractConnector: Started admin@603b59db{HTTP/1.1, (http/1.1)}{0.0.0.0:8081}
INFO  [2023-05-20 07:09:33,496] org.eclipse.jetty.server.Server: Started Server@6115115a{STARTING}[11.0.14,sto=30000] @4841ms

通过日志我们可以看出项目使用Jetty作为服务容器;项目启动后默认监听了两个端口,分别是

8080:对外提供服务的端口

8081:对外提供管理服务的端口

三、访问服务

1、访问8080端口

访问地址: http://localhost:8080/

返回的结果如下:

{"code": 404,"message": "HTTP 404 Not Found"
}

原因是,我们没有开发对外访问的服务

2、访问8081端口

访问地址: http://localhost:8081/

返回的结果如下:

原因是8081端口提供的是管理服务

Dropwizard 开发环境搭建相关推荐

  1. Android环境搭建和Android HelloWorld—Android开发环境搭建

    Android_Android开发环境搭建-搭建Android的开发环境 1.我考虑先下载JDK7.0,在JDK的安装中,考虑一般SDK都是向上兼容的,于是选择了最高的版本7.0 这里是我总结的详细的 ...

  2. qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...

    作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...

  3. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序

    文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...

  4. 智能合约开发环境搭建及Hello World合约

    如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇. 就先学习任何编程语言一样,入门的第一个程序都是Hello World.今天我们来一步一步从搭建以太坊智能合约 ...

  5. iPhone开发环境搭建全过程 iPhone手机开发内容,中文手册

    http://3g.edu.csdn.net/kecheng/iphone.html  iPhone手机开发内容 http://www.docin.com/p-34874880.html# iPhon ...

  6. python搭建numpy_python开发环境搭建及numpy基本属性-【老鱼学numpy】

    目的 本节我们将介绍如何搭建python的开发环境以及numpy的基本属性,这样可以检验我们的numpy是否安装正确了. python开发环境的搭建 工欲善其事必先利其器,我用得比较顺手的是Intel ...

  7. windows下pomelo开发环境搭建及JS乱码问题

    from: http://blog.csdn.net/wangqiuyun/article/details/9243263 最近一直在研究node.js这一块,为的就是使用网易的pomelo框架,学习 ...

  8. Android配置----Android开发环境搭建

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  9. JDK安装以及开发环境搭建

    无论是Java开发.J2EE以及Android开发搭建环境时JDK开发环境搭建及环境变量配置是必不可少的,这篇文章就来就分别介绍下JDK的下载以及不同平台的环境变量的配置. 1.安装JDK开发环境 官 ...

最新文章

  1. Android startActivityForResult
  2. textureview 旋转90度后平铺_轮滑知识 | 单排轮滑的旋转技巧
  3. 计算机网络 | 传输层 :UDP与TCP协议详解
  4. java虚拟机_Oracle独家:Java虚拟机学习指南
  5. python有序数组中删除元素_python刷LeetCode:26. 删除排序数组中的重复项
  6. 解决:-bash: telnet: command not found
  7. PostgreSQL 9.6 IO Hang问题浅析与优化
  8. cte公用表表达式_SQL Server中的CTE; 使用公用表表达式解决重新编制标识符列的问题
  9. zookeeper学习02 使用
  10. Windows 系统 重装为Linux 记录
  11. android 多线程 js,android中的jstack,见见线程都在干嘛
  12. Android属于绑定服务特点是,android – 每个Service绑定是否需要一个ServiceConnection?...
  13. linux 常用命令 -- 系统管理工具包: 监视邮件的使用情况
  14. unity3d改变物体的中心位置_Unity3d粒子特效:制作火焰效果
  15. 教你自定义百度网盘分享密码 提取码
  16. Failed to instantiate [org.springframework.cloud.context.properties.ConfigurationPropertiesBeans]: F
  17. ftp扫描工具,ftp扫描工具如何使用?ftp工具很多用户选iis7服务器管理工具
  18. unity 数字键的输入及刚体的速度的设置
  19. 思维导图的优缺点与绘制思维导图方法
  20. 每天学一个 Linux 命令(89):alias/unalias

热门文章

  1. 全球区块链第9周看点 | 以太坊君士坦丁堡/圣彼得堡硬分叉正式完成;纳斯达克正式上线BTC和ETH指数...
  2. 面向萌新的红帽杯2018线上赛wp
  3. [BUUCTF]PWN17——[HarekazeCTF2019]baby_rop
  4. c语言关于国家名的字符串排序
  5. 三.ffmpeg 集成av1
  6. 二见钟情之组合查询(vb.net版)
  7. matlab求莫兰指数程序,python计算莫兰指数(Moran's I)并绘制地区热力图——以中国各省pm2.5为例...
  8. fest556_FEST-Swing 1.2发布
  9. 【读书笔记】提高编码效率 —— 《Mac 高效开发指南》
  10. 吞噬星空是鸿蒙三部曲吗,星辰变吞噬星空盘龙三部有什么关系