信创啊信创。Solon 双同时支持 jakarta.servlet 容器了!
Solon 是个神奇的项目,不是基于 Servlet 的。但是又很支持 Servlet,尤其是 war 包。打起来还挺方便的。 如果你是做信创的(听说,很多信创项目是用 war 部署到 tomcat 容器下的)。自从 javaee 改包名后,那个苦啊。但是,Solon 可以用一样的开发,双同时支持:
- javax.servlet
- jakarta.servlet
强调一下,Solon 是推荐 fatjar 打包的框架(当然想打什么,都能打)。支持 war 打包,主要是用户有需求,尤其是信创项目有需求。那为什么能同时支持两套包呢?是这样的:
- 因为 solon 不是基于 Servlet 的。有自己的专有 web 接口规范,可适配一切
- 开发时,用的是 solon 的接口规范。打包的时候把适配包带上
下面讲讲 solon 的 war 打包(也可以去官网生成模板项目):
1、操作指南:
在普通项目增加几项内容即可打 war 包(仍可打 jar 包):
- 添加 webapp/WEB-INF/web.xml 配置(参考模板里的内容)
- 添加 solon.web.servlet(for javax)或者 solon.web.servlet.jakarta(for jakarta)插件依赖
- 使用 solon-maven-plugin 或者 maven-war-plugin 打包
具体模板下载:
- 打包成 war,需要放到 war 容器下运行(比如:tomcat, weblogic)
2、具体说明:
a) 添加 webapp/WEB-INF/web.xml 配置,把 solonStartClass 的参数值改成 main 函数类
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Solon war app</display-name> <context-param> <param-name>solonStartClass</param-name> <param-value>org.example.demo.DemoApp</param-value> </context-param> <listener> <listener-class>org.noear.solon.web.servlet.SolonServletContextListener</listener-class> </listener> <welcome-file-list> <welcome-file>/</welcome-file> </welcome-file-list> </web-app>
b) 添加 solon.web.servlet 插件依赖
提供 servlet 容器对接支持。注意下面的包注释说明:
<!-- javax 的用这个包 --> <dependency> <groupId>org.noear</groupId> <artifactId>solon.web.servlet</artifactId> </dependency> <!-- jakarta 的用这个包(v2.4.1 后支持) --> <dependency> <groupId>org.noear</groupId> <artifactId>solon.web.servlet.jakarta</artifactId> </dependency>
c) 使用 solon-maven-plugin 或者 maven-war-plugin 打包
solon-maven-plugin 同时支持打 jar 和 war(由 packaging 配置指定)
<packaging>war</packaging> ... <plugin> <groupId>org.noear</groupId> <artifactId>solon-maven-plugin</artifactId> </plugin>
或者 maven-war-plugin,它只支持打 war 包
<packaging>war</packaging> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.2</version> </plugin>
Solon 是什么开源项目?
一个,Java 新的生态型应用开发框架。它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模)。与其他框架相比,它解决了两个重要的痛点:启动慢,费内存。
关键记事:
- 2021年1月,正式对外开源
- 2022年7月,建立官网,发力推广
- 2023年2月,v2.0 发布。官网增加 Solon Initializr,用于生成项目模板。
- 2023年4月,成为信通院可信开源社区、可信开源项目。Maven 单月下载量突破100万。代码提交数超 11000 次
- 2023年6月,Maven 单月下载量突破200万。官网资料超 500 个页面。
解决痛点?
由于Solon Bean容器的独特设计,不会因为扩展依赖变多而启动很慢(开发调试时,省时、爽快)!以知名开源项目“小诺”为例:
- “snowy-spring 版” 启动 15-50秒
- “snowy-solon 版” 启动3-5秒,内存节省1/3(有兴趣的,欢迎拉取代码体验)
所谓:“时间就是生命,效率就是金钱”,“天下武功,唯快不破”。
相对于 Spring Boot 和 Spring Cloud 的项目,有什么特点?
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 运行时内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 同时支持 jdk8, jdk11, jdk17, jdk20, graalvm native image
项目仓库地址?

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ShopWind 商城系统 v4.3 更新,Yii3+Vue3 前后端分离
ShopWind 多商户商城系统v4.3 发布更新,PHP+MySQL,服务端 Yii2 框架,移动端 uniapp。使用 vue3/vite、Element Plus UI、 axios 数据请求、页面异步加载。 本次更新新增移动端发布商品增加商品类型、DIY 装修、新增商品采集插件等多项。 移动端预览: 平台后台预览 PC 端预览 商家管理预览 自定义页面装修预览 演示体验 后台体验:https://v4.shopwind.net/admin平台管理员账号:admin 密码:111111 前台体验:https://v4.shopwind.net自行微信登录、QQ、支付宝登录 商家体验:https://v4.shopwind.net/seller/login商家测试账号:18978189171 密码:111111 移动端体验 H5 端体验:https://v4.shopwind.net/h5 Android(安卓版)体验:点击下载安装 iOS(苹果版)体验:https://apps.apple.com/cn/app/id1548625748 扫码体验其他端 新增部分功能如...
- 下一篇
dbswitch v1.8.0 已经发布,异构数据库迁移工具
dbswitch v1.8.0 已经发布,异构数据库迁移工具 此版本更新内容包括: 支持功能: (1) 修复几个重要BUG (2) 实现了多个issues中反馈的功能和问题 基于docker-compose的一键安装(或更新)命令: curl -sSL https://gitee.com/inrgihc/dbswitch/attach_files/1479949/download | sh 或docker安装: docker run -d --name dbswitch \ -e MYSQLDB_HOST=192.168.31.57 \ -e MYSQLDB_PORT=3306 \ -e MYSQLDB_USERNAME=test \ -e MYSQLDB_PASSWORD='123456' \ -v /tmp:/tmp \ -p 9088:9088 \ registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:1.8.0 详情查看:https://gitee.com/inrgihc/dbswitch/releases/v1.8.0
相关文章
文章评论
共有0条评论来说两句吧...