WildFly Swarm为将Java EE应用程序部署为独立的Jar文件提供了一种简单的解决方案。 这使得部署应用程序特别是REST或Web服务非常容易。 Swarm在这方面与Spring Boot非常相似,因为它可以快速开发Web(.War)应用程序,然后将其部署为独立应用程序,而无需部署应用程序服务器。
WildFly Swarm文档将自己描述为:
Swarm提供了一种创新的方法来打包和运行Java EE应用程序,方法是将它们打包到足够的平台上以“ java -jar”您的应用程序。
将Java EE应用程序部署为Swarm应用程序非常简单:
- 将对WildFly Swarm方面的依赖项添加到项目的
pom.xml
文件中,例如JAX-RS或JPA。 - 将WildFly Swarm插件添加到项目的
pom.xml
文件中,以创建可执行的Jar文件。 - 坐下来,放松并以独立的可执行文件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