WildFly Swarm –将Java EE应用程序部署为独立的Jar

WildFly Swarm为将Java EE应用程序部署为独立的Jar文件提供了一种简单的解决方案。 这使得部署应用程序特别是REST或Web服务非常容易。 Swarm在这方面与Spring Boot非常相似,因为它可以快速开发Web(.War)应用程序,然后将其部署为独立应用程序,而无需部署应用程序服务器。

WildFly Swarm文档将自己描述为:

Swarm提供了一种创新的方法来打包和运行Java EE应用程序,方法是将它们打包到足够的平台上以“ java -jar”您的应用程序。

将Java EE应用程序部署为Swarm应用程序非常简单:

  1. 将对WildFly Swarm方面的依赖项添加到项目的pom.xml文件中,例如JAX-RS或JPA。
  2. 将WildFly Swarm插件添加到项目的pom.xml文件中,以创建可执行的Jar文件。
  3. 坐下来,放松并以独立的可执行文件Jar运行您的应用程序!

为了说明这是多么容易,我创建了一个非常简单的JAX-RS Web服务,该服务返回了一个水果列表–与几年前创建的Angular.js工厂非常相似。

GitHub上提供了此示例应用程序的代码

要创建一个JAX-RS Web服务并作为WlidFly Swarm应用程序运行,我们只需要添加wildfly-swarm-jaxrs依赖项即可。 用户指南中记录了所有可与WildFly Swarm一起使用的依赖项

<properties><swarm.version>1.0.0.Alpha5</swarm.version>
</properties><dependencies>...<dependency><groupId>org.wildfly.swarm</groupId><artifactId>wildfly-swarm-jaxrs</artifactId><version>${swarm.version}</version></dependency>...
</dependencies>

将WildFly Swarm插件添加到pom.xml以创建可执行的Jar文件也同样简单。

<plugins>...<plugin><groupId>org.wildfly.swarm</groupId><artifactId>wildfly-swarm-plugin</artifactId><executions><execution><goals><goal>package</goal></goals></execution></executions></plugin>...
</plugins>

现在,您需要执行的是执行mvn package命令以创建可执行的Jar文件,您可以通过执行java -jar myJar.jar来启动该文件

在创建和运行Swarm应用程序时,必须注意,该应用程序的URL与在独立应用程序服务器中运行时的URL不同。

当将应用程序部署在应用程序服务器下时,上下文路径通常包含已取消部署的应用程序的名称,例如:

http://localhost:8080/swarm-rs-1.0-SNAPSHOT/api/fruit

当将其部署为Swarm应用程序时,不需要上下文路径(仅运行一个Java EE应用程序),因此URL看起来更像:

http://localhost:8080/api/fruit

翻译自: https://www.javacodegeeks.com/2016/01/wildfly-swarm-deploying-java-ee-applications-standalone-jars.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355680.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言三个数从小到大排序/输出_我的c语言笔记(三)

int表达式这个表达式存在的目的在于将表达式转为整数。比如&#xff1a;float a9999.9999&#xff1b;int b;b(int)(a/1000);就可以得到9啦&#xff0c;别忘了套上固定格式哦&#xff5e;然后我们接下来一起来做一道很重要的题哦&#xff0c;反复练习&#xff0c;可以顺利拿下同…

java虚拟_Java虚拟机(JVM)工作原理

虽然本教程的内容为 x86 处理器的原生汇编语言&#xff0c;但是了解其他机器架构如何工作也是有益的。JVM 是基于堆栈机器的首选示例。JVM 用堆栈实现数据传送、算术运算、比较和分支操作&#xff0c;而不是用寄存器来保存操作数(如同 x86 一样)。数据结构&#xff0c;让它们协…

MVC5 + EF6 + Bootstrap3

MVC5 EF6 Bootstrap3 (16) 客户端验证摘要: 本节介绍MVC客户端验证。阅读全文posted 2015-05-26 07:15 Slark.NET 阅读(6333) | 评论 (21) 编辑MVC5 EF6 Bootstrap3 (15) 应用ModelState和Data Annotation做服务器端数据验证摘要: 本节我们用两种不同的方法ModelState和Da…

java for循环break_Java中break、continue、return在for循环中的使用

这篇文章主要介绍了break、continue、return在for循环中的使用&#xff0c;本文是小编收藏整理的&#xff0c;非常具有参考借鉴价值,需要的朋友可以参考下引言&#xff1a;在使用循环的时候&#xff0c;循环里面带有break、continue、return的时候经常弄混&#xff0c;今天特意…

python 定义字符串变量_python 字符串(1)

字符串 操练一下字符串吧。 >>> print "good good study, day day up" good good study, day day up 在python中&#xff0c;通常用一对双引号、或者单引号来包裹一个字符串。或者说&#xff0c;要定义一个字符串&#xff0c;就用双引号或者单引号。 转义字…

play 拦截器_编写Play 2的模块,第2部分:拦截器

play 拦截器在本教程的第一部分中&#xff0c;我们介绍了创建&#xff0c;发布和调用模块的基本知识。 我们创建的模块并没有真正做很多事情&#xff0c;因此现在是时候使用Play的某些功能来扩展功能了。 1.拦截器 拦截器使您可以拦截对控制器的调用&#xff0c;并增强或阻止其…

java string blob_java String类型转换为Blob类型

展开全部这个是mysql下存取blob字段的一个很简单的类&#xff0c;跟据自己的需要32313133353236313431303231363533e4b893e5b19e31333332623936改改就行了/*** Title: BlobPros.java* Project: test* Description: 把图片存入mysql中的blob字段&#xff0c;并取出* Call Module…

架构之Nginx(负载均衡/反向代理)

Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器 &#xff0c;也是一个 IMAP/POP3/SMTP 代理 服务器 。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的&#xff0c;第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式…

Neo4j:特定关系与一般关系+属性

为了在Neo4j查询中获得最佳的遍历速度&#xff0c;我们应该使关系类型尽可能具体 。 让我们看一下几周前我在Skillsmatter上发表的“ 建模建议引擎建模 ”演讲中的一个例子。 我需要决定如何为成员和事件之间的“ RSVP”关系建模。 一个人可以对事件表示“是”或“否”&#…

java 获取 网卡名称_Java获取网卡信息详解

InterfaceAddress 类表示一个由名称和分配给此接口的 IP 地址列表组成的网络接口。它用于标识加入多播组的本地接口。 接口通常是按名称(如 "le0")区分的。NetworkParameterDemo.javaimport java.net.InterfaceAddress;import java.net.NetworkInterface;import java…

java 按位置格式化字符串_Java字符串格式化,{}占位符根据名字替换实例

我就废话不多说了&#xff0c;大家还是直接看代码吧~import java.beans.PropertyDescriptor;import java.lang.reflect.Method;import java.util.HashMap;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;public class StringFormatUtil …

Dropzone.js实现文件拖拽上传

dropzone.js是一个开源的JavaScript库&#xff0c;提供 AJAX 异步文件上传功能&#xff0c;支持拖拽文件、支持最大文件大小、支持设置文件类型、支持预览上传结果&#xff0c;不依赖jQuery库。 查看演示 下载源码使用Dropzone 我们可以建立一个正式的上传form表单&#xff0c;…

java 获取系统时间 8小时 jre_Java获取时间与系统时间相差8小时终极解决方案

0、引言Druid中时区的问题一直困扰着我们&#xff0c;所以我专门去研究了一下世界时区和Java中的时区&#xff0c;对使用Druid很用帮助.1、UTC时间&GMT时间UTC时间是时间标准时间(Universal Time Coordinated)&#xff0c;UTC是根据原子钟来计算时间&#xff0c;误差非常小…

Apache Drill 1.4性能增强的简要概述

今天&#xff0c;我们很高兴宣布Apache Drill 1.4现已在MapR发行版中可用。 钻1.4是MAPR生产就绪和支持的版本&#xff0c;可以从下载这里 &#xff0c;找到1.4版本说明这里 。 Drill 1.4以其高度灵活和可扩展的体系结构为基础&#xff0c;带来了多种新功能以及对查询性能的增…

【01背包】洛谷P1282多米诺骨牌

题目描述 多米诺骨牌有上下2个方块组成&#xff0c;每个方块中有1~6个点。现有排成行的 上方块中点数之和记为S1&#xff0c;下方块中点数之和记为S2&#xff0c;它们的差为|S1-S2|。例如在图8-1中&#xff0c;S161119&#xff0c;S2153211&#xff0c;|S1-S2|2。每个多米诺骨牌…

java geolitecity_GeoLite2 Java根据IP获得城市、经纬度

之前我们介绍过通过 qqwry.dat 根据IP获得所属城市和运营商信息。但是这个 qqwry.dat 已经太久没更新了&#xff0c;数据有些不准确&#xff0c;而且现在我们有个需求就是想获取某个IP所在的经纬度。这里我们可以使用 GeoLite2&#xff0c;这个是国外开源的一个库&#xff0c;需…

Leetcode:search_insert_position

一、 题目 给定一个数组和要插入数的大小。求插入的位置。 二、 分析 太水&#xff0c;直接扫描。过……. class Solution { public:int searchInsert(int A[], int n, int target) {for(int i0;i<n;i) {if(target<A[i]) {return i;} }return n;} };转载于:https…

java mvc 面试题_2018年java技术面试题整理

1、servlet执行流程客户端发出http请求&#xff0c;web服务器将请求转发到servlet容器&#xff0c;servlet容器解析url并根据web.xml找到相对应的servlet&#xff0c;并将request、response对象传递给找到的servlet&#xff0c;servlet根据request就可以知道是谁发出的请求&…

交叉编译指定运行时库路径_运行时vs编译时类路径

交叉编译指定运行时库路径这确实应该是一个简单的区别&#xff0c;但是我一直在回答有关Stackoverflow的许多类似问题&#xff0c;并且经常有人误解此事。 那么&#xff0c;什么是类路径&#xff1f; 应用程序所需的一组所有类&#xff08;以及带有类的jar&#xff09;的集合。…

计算机专业英语第二版张强华翻译_计算机语言发展的三个阶段,机器语言、汇编语言与高级语言...

在如今信息发达的时代&#xff0c;科技日新月异&#xff0c;计算机和Internet网络的发展也成为人们日常生活的重要部分。学习一两门计算机编程语言也如当初学习英文一样的火热&#xff0c;随着人工智能AI和云计算的不断发展&#xff0c;Python语言和Scala语言已经成为这两个领域…