找到 25 篇与 Java 相关的结果
-
snail-ai {card-default label="? 项目信息"} ? 项目名称:snail-ai ? 开发语言:Java ⭐ Star数:863 | ? Fork数:330 ? 开源协议:Apache-2.0 ? 项目地址:https://gitee.com/aizuda/snail-ai {/card-default} 项目介绍 Snail AI 企业级 AI Agent 平台 - 让 AI 更智能,让开发更高效 项目详情 项目截图 ??? 灵活,易用和可扩展的企业级 AI 智能体平台 ✅️ 基于 Spring Boot 4 + Spring AI,开箱即用的多模型、多 Agent 管理平台 ✅️ 支持 RAG、记忆、技能编排、向量检索等核心 AI 能力使用前务必先了解版权 Aizuda/SnailAI 采用 APACHE LICENSE 2.0 开源协议,您在使用过程中,需要注意以下几点: ⭕本项目 双协议授权 默认采用 Apache-2.0 协议开源 完全开放 遵守附加协议 的前提下允许任何目的商用场景(不包含扩散到第三方例如:提供给第三方源码、提供SaaS服务给第三方)。 如果违反 附加协议 自动升级为 AGPL-3.0 协议。 ?附加协议:使用方在项目介绍中显著位置必须标注版权信息(链接仓库地址),不允许删除源码注释申明,不允许山寨换皮商用与官方企业版竞争(包含二次开源),否则视为侵权(索赔200万)。 使用必须遵守国家法律法规,⛔不允许非法项目使用,后果自负❗ 简介 Snail AI 是一个灵活、可扩展的企业级 AI 智能体平台。基于 Spring Boot 4 和 Spring AI 构建,提供多模型管理、智能体编排、RAG 知识库、长期记忆、技能管理等核心能力。拥有完善的后台管理界面和 OpenAPI 接口,支持快速接入和二次开发。开源地址 snail-job-admin(基于soybean-admin开源项目搭建) snail-job snail-ai-admin snail-ai-chat 核心特性 多模型管理 — 统一接入和管理多种大语言模型(LLM),灵活切换 智能体(Agent) — 可编排、可扩展的 Agent 框架,支持多 Agent 协作 RAG 知识库 — 基于向量检索的检索增强生成,支持 Milvus / Elasticsearch 长期记忆 — Agent 对话记忆持久化,提升上下文连贯性 技能管理 — 可配置的技能(Skill)体系,扩展 Agent 能力边界 资源管理 — 文档解析(PDF、Office)、对象存储(MinIO) OpenAPI — 标准化 API 接口,方便第三方系统集成 后台管理 — 基于 SoybeanAdmin 的现代化管理界面 快速开始 QuickStart 期望 欢迎提出更好的意见,帮助完善 Snail AI。 系统截图 title=title=title=title=title=title=title=title=title=title=title=title=title=title=⬇️ 下载地址 下载后请先检查文件完整性,如有问题请在评论区反馈 -
surpass {card-default label="? 项目信息"} ? 项目名称:surpass ? 开发语言:Java ⭐ Star数:3482 | ? Fork数:1446 ? 开源协议:Apache-2.0 ? 项目地址:https://gitee.com/dromara/surpass {/card-default} 项目介绍 Dromara Surpass API权限开放平台,面向REST API资源无状态认证和调用,实现企业统一权限管理;零代码开发,SQL定义RESTful OpenAPI接口,支持JWT、RBAC资源权限管理,Swagger自动生成等,遵循Apache-2.0开源免费 项目详情 项目截图 项目截图 项目截图 项目截图 Surpass API权限开放平台 SurpassAPI权限开放平台,零代码开发,SQL定义RESTful OpenAPI接口;面向REST API资源无状态认证和调用,实现企业统一权限管理 提供基于Mybatis SQL方式的OpenAPI功能定义,只需编写 SQL,零代码开发 API 服务 实现企业内部系统统一权限管理,提供标准应用资源读取接口,轻松掌控企业内部复杂的权限 基于角色访问控制RBAC,提供对应用系统的权限控制,经典RBAC权限管理:用户-角色-应用-资源 提供页面可配置式的,动态的 API 权限安全管理支持 基于客户端Token的认证机制,保护OpenAPI安全 数据传输动态秘钥加密,JWT过期刷新,用户操作监控等加固应用安全 全方位日志记录,包括API地址、归属地、调用权限控制,加强API调用审计 根据OpenAPI配置自动生成Swagger文档 gitee | github 快速开始 部署文档 - 完整的部署指南 在线文档 - 官方文档 官方微信: 项目截图 效果展示 仪表盘 image1 数据源 image2 客户端 image3 用户管理 image4 角色管理 image5 应用管理 image6 资源管理 image7 OpenAPI接口配置 image8 OpenAPI接口Debug image9 客户端权限 image10 角色权限 image11 接口调用日志 image12 开源推荐 tancloud Saas监控平台 https://console.tancloud.cn HertzBeat赫兹节拍 易用友好的高性能监控告警系统。 https://hertzbeat.apache.org/ MaxKey 业界领先的IAM身份管理和身份认证产品: https://www.maxkey.top/ JustAuth 小而全而美的第三方登录开源组件: https://gitee.com/yadong.zhang/JustAuth PhalApi 一个轻量级PHP开源接口框架: https://www.phalapi.net/ ?️ License Apache License, Version 2.0 ⬇️ 下载地址 下载后请先检查文件完整性,如有问题请在评论区反馈 -
snackjson {card-default label="? 项目信息"} ? 项目名称:snackjson ? 开发语言:Java ⭐ Star数:367 | ? Fork数:86 ? 开源协议:Apache-2.0 ? 项目地址:https://gitee.com/noear/snackjson {/card-default} 项目介绍 新一代高性能 Jsonpath 框架。同时兼容 jayway.jsonpath 和 IETF JSONPath (RFC 9535) 标准规范(支持开放式定制)。 项目详情 SnackJson 一个 Json 框架,支持 JsonDom、JsonPath、JsonSchema(for Java) 兼容 `jayway.jsonpath` 和 IETF JSONPath (RFC 9535) 标准。兼容 JsonSchema draft-07 标准。支持开放式定制。 https://solon.noear.org/article/snack 项目截图 项目截图 项目截图 项目截图 项目截图 项目截图 项目截图 项目截图 项目截图 语言: 中文 | English SnackJson 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计。其下一切数据都以ONode表示,ONode也即 One node 之意,代表任何类型,也可以转换为任何类型。 强调 Json dom 的构建和操控能力 可以 Json path 高性能查询(比 jayway.jsonpath 快很多),同时兼容 jayway.jsonpath 和 IETF JSONPath (RFC 9535) 标准 (用 options 切换)。提供新一代 JsonPath 体验。 提供 Json schema 构建与校验,兼容 JsonSchema draft-07、draft-2019 标准 支持 json5 部分特性(无键字段,注释,等...) 优先使用 无参构造函数 + 字段 编解码(可减少注入而触发动作的风险) | 依赖包 | 描述 | |-------------------------------|------------------------| | org.noear:snack4 | 提供 json dom 构建和编解码支持 | | org.noear:snack4-jsonpath | 提供 json path 查询支持 | | org.noear:snack4-jsonschema | 提供 json schema 校验支持 | JSONPath 语法参考( IETF JSONPath (RFC 9535) ) 语法元素描述$根节点标识符@当前节点标识符(仅在过滤选择器中有效)[]子段:选择节点的零个或多个子节点.name简写 ['name'].*简写 [*]..[]后代段:选择节点的零个或多个后代..name简写 ..['name']..*简写 ..[*]'name'名称选择器:选择对象的命名子对象*通配符选择器:选择节点的所有子节点3索引选择器:选择数组的索引子项(从 0 开始)0:100:5数组切片选择器:数组的 start:end:step?过滤选择器:使用逻辑表达式选择特定的子项fun(@.foo)过滤函数:在过滤表达式中调用函数(IETF 标准).fun()聚合函数:作为片段使用(jayway 风格)过滤选择器语法参考: 语法描述优先级(...)分组5name(...)函数扩展5!逻辑 非4==,!=,`,>=`关系比较符3&&逻辑 与2`\\`逻辑 或1IETF JSONPath (RFC 9535) 标准定义操作符(支持) 操作符描述示例==左等于右(注意1不等于'1')$[?(@.a == 1)]!=左不等于右$[?(@.a != 1)]``左大于右$[?(@.a > 1)]>=左大于等于右$[?(@.a >= 1)]jayway.jsonpath 增量操作符(支持) 操作符描述示例=~左匹配正则表达式[?(@.s =~ /foo.*?/i)]in左存在于右[?(@.s in ['S', 'M'])]nin左不存在于右 subsetof左是右的子集[?(@.s subsetof ['S', 'M', 'L'])]anyof左与右有一个交点[?(@.s anyof ['M', 'L'])]noneof左与右没有交集[?(@.s noneof ['M', 'L'])]size左(数组或字符串)的大小应该与右匹配$[?(@.s size @.expected_size)]emptyLeft(数组或字符串)应该为空$[?(@.s empty false)]IETF JSONPath (RFC 9535) 标准定义函数(支持) 函数描述参数类型结果类型length(x)字符串、数组或对象的长度值数值count(x)节点列表的大小节点列表数值match(x,y)正则表达式完全匹配值,值逻辑值search(x,y)正则表达式子字符串匹配值,值逻辑值value(x)节点列表中单个节点的值节点列表值jayway.jsonpath 函数(支持) 函数描述输出类型length()字符串、数组或对象的长度Integermin()查找当前数值数组中的最小值Doublemax()查找当前数值数组中的最大值Doubleavg()计算当前数值数组中的平均值Doublestddev()计算当前数值数组中的标准差Doublesum()计算当前数值数组中的总和Doublekeys()计算当前对象的属性键集合Setconcat(X)将一个项或集合和当前数组连接成一个新数组like inputappend(X)将一个项或集合 追加到当前路径的输出数组中like inputfirst()返回当前数组的第一个元素依赖于数组元素类型last()返回当前数组的最后一个元素依赖于数组元素类型index(X)返回当前数组中索引为X的元素。X可以是负数(从末尾开始计算)依赖于数组元素类型snack-jsonpath 增量操作符(支持) 操作符描述示例startsWith左(字符串)开头匹配右[?(@.s startsWith 'a')]endsWith左(字符串)结尾匹配右[?(@.s endsWith 'b')]contains左(数组或字符串)包含匹配右[?(@.s contains 'c')]JSONPath 语法示例 JSON 样本数据 { "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 } ], "bicycle": { "color": "red", "price": 399 } } }示例JSONPath表达式及其应用于示例JSON值时的预期结果 JSONPath预期结果$.store.book[*].author书店里所有书的作者$..autho所有作者$.store.*商店里的所有东西,包括一些书和一辆红色的自行车$.store..price商店里所有东西的价格$..book[2]第三本书$..book[2].author第三本书的作者$..book[2].publisher空结果:第三本书没有“publisher”成员$..book[-1]最后一本书$..book[0,1]`$..book[:2]`前两本书$..book[?@.isbn]所有有国际标准书号的书`$..book[?@.price {o.addNew().set("title", "开始").set("type", "start"); o.addNew().set("title", "结束").set("type", "end"); }); oNode.get("id").getInt(); oNode.get("layout").get(0).get("title").getString(); oNode.getOrNew("list").fillJson("[1,2,3,4,5,6]"); 支持 `json path` 查询、构建、删除 ONode.ofBean(store).select("$..book[?@.tags contains 'war'].first()").toBean(Book.class); //RFC9535 规范,可以没有括号 ONode.ofBean(store).select("$..book[?(!(@.category == 'fiction') && @.price (){}).getClass()); //泛型 ONode.ofJson("[{},{}]").toBean(new TypeRef>(){}); //泛型 //快捷方式 String json = ONode.serialize(user); User user = ONode.deserialize(json, User.class); ### 路径树接口 //case1 ONode o = ONode.ofJson(json); ONode rst = o.select("$.data.list[*].mobile"); //自动为查询到的节点,生成 path 属性 List rstPaths = rst.pathList(); //获取结果节点的路径列表 for(ONode n1 : rst.getArray()) { n1.path(); //当前路径 n1.parent(); //父级节点 } //case2 ONode o = ONode.ofJson(json).usePaths(); //手动为每个子节点,生成 path 属性 ONode rst = o.get("data").get("list").get(2); rst.path(); rst.parent(); ### 高级定制 Json 编解码定制 Options options = Options.of(); //添加检测器(for Feature.Read_AutoType) options.addChecker(clzName -> { //通过 if (clzName.startsWith("com.ok.xxx.")) { return TypeChecker.ALLOW; } //拒绝 if (clzName.startsWith("com.no.yyy.")) { return TypeChecker.DENY; } //跳过 return TypeChecker.SKIP; }); //添加编码器 options.addEncoder(Date.class, (ctx, value, target) -> { target.setValue(DateUtil.format(data, "yyyy-MM-dd")); }); //添加解码器 options.addDecoder(Date.class, ...); //添加创建器(接管类实例化) options.addCreator(...); //添加特性 options.addFeature(Feature.Write_PrettyFormat); //移除特性 options.removeFeature(Feature.Write_PrettyFormat); //设置日期格式附 options.addFeature(Feature.Write_UseDateFormat); //使用日期格式 options.dateFormat("yyyy-MM"); //.. String json = ONode.ofBean(orderModel, options).toJson(); JsonPath 函数与操作符定制 import org.noear.snack4.ONode; import org.noear.snack4.jsonpath.FunctionLib; public class FunctionDemo { public static void main(String[] args) { //定制 floor 函数 FunctionLib.register("floor", (ctx, argNodes) -> { ONode arg0 = argNodes.get(0); //节点列表(选择器的结果) if (ctx.isDescendant()) { for (ONode n1 : arg0.getArray()) { if (n1.isNumber()) { n1.setValue(Math.floor(n1.getDouble())); } } return arg0; } else { ONode n1 = arg0.get(0); if (n1.isNumber()) { return ctx.newNode(Math.floor(n1.getDouble())); } else { return ctx.newNode(); } } }); //检验效果(在 IETF 规范里以子项进行过滤,即 1,2) //out: 1.0 System.out.println(ONode.ofJson("{'a':1,'b':2}") .select("$.a.floor()") .toJson()); //参考 //out: 2.0 System.out.println(ONode.ofJson("{'a':1,'b':2}") .select("$[?floor(@) > 1].first()") .toJson()); } } import org.noear.snack4.ONode; import org.noear.snack4.jsonpath.OperatorLib; public class OperationDemo { public static void main(String[] args) { //定制操作符 OperatorLib.register("startsWith", (ctx, node, term) -> { ONode leftNode = term.getLeftNode(ctx, node); if (leftNode.isString()) { ONode rightNode = term.getRightNode(ctx, node); if (rightNode.isNull()) { return false; } return leftNode.getString().startsWith(rightNode.getString()); } return false; }); //检验效果 assert ONode.ofJson("{'list':['a','b','c']}") .select("$.list[?@ startsWith 'a']") .size() == 1; } } ### 特别感谢JetBrains对开源项目支持:  ## ⬇️ 下载地址 ## {alert type="warning"}下载后请先检查文件完整性,如有问题请在评论区反馈{/alert} -
nop-entropy {card-default label="? 项目信息"} ? 项目名称:nop-entropy ? 开发语言:Java ⭐ Star数:1141 | ? Fork数:392 ? 开源协议:未知 ? 项目地址:https://gitee.com/canonical-entropy/nop-entropy {/card-default} 项目介绍 Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用 项目详情 [[English]](README.en.md) [[Tutorial]](./docs/tutorial/tutorial_en.md) [[开发示例]](./docs/tutorial/tutorial.md) [[介绍和答疑视频]](https://www.bilibili.com/video/BV1u84y1w7kX/) Nop Platform 2.0 ! ! star Ask DeepWiki ! 介绍 可逆计算:下一代软件构造理论 让演化可编程:XLang 与可逆计算的结构化范式 Nop is nOt Programming(非编程) Nop Platform 2.0 is a next-generation low-code development platform built from scratch based on the principles of reversible computation, adopting a language-oriented programming paradigm. It includes a suite of fully designed engines such as a GraphQL engine, ORM engine, workflow engine, reporting engine, rule engine, and batch processing engine, all developed from scratch based on new principles. It automatically generates GraphQL/REST/gRPC services according to Excel data models, allowing for customized development without modifying the source code of the basic product. It supports native compilation with GraalVM, and is free for commercial use by small and medium-sized enterprises. The underlying architecture of the Nop platform does not utilize third-party frameworks such as Spring. Instead, it has been redesigned and implemented based on new software construction principles, greatly reducing the complexity of the framework’s internal structure while significantly enhancing its flexibility, scalability, and performance. Its design goal is to explore next-generation software production technologies, laying the technical foundation for intelligent software production in the AI era. Nop Platform 2.0是基于可逆计算原理从零开始构建的采用面向语言编程范式的下一代低代码开发平台。包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计,根据Excel数据模型自动生成GraphQL/REST/gRPC服务,定制化开发无需修改基础产品源码,支持GraalVM原生编译,中小企业可以免费商用。 Nop平台的底层没有使用Spring等第三方框架,而是基于新的软件构造原理重新设计并实现,极大降低了框架内在结构的复杂性,同时大幅提升框架的灵活性、可扩展性和性能。它的设计目标是探索下一代软件生产技术,为AI时代的软件智能生产奠定技术基础 nop-entropy是Nop平台的后端部分。它采用Java语言实现,不依赖第三方框架,可以和Quarkus、Spring或者Solon框架集成在一起使用。 nop-entropy支持GraalVM技术,可以借助于Quarkus 或者SpringNative 框架编译为原生可执行程序,运行时不需要安装JDK,且启动速度提升数十倍。 nop-entropy的设计目标是成为简单易用的领域语言工作台(Domain Language Workbench) 。在Nop平台中,我们一般并不直接使用通用的程序语言如Java来表达业务逻辑,而是先设计一个DSL语言,然后再用DSL来表达业务。通过增加简单的元数据定义,就可以自动得到对应的解析器、验证器、IDE插件、调试工具等,并自动为DSL领域语言增加模块分解、差量定制、元编程等通用语言特性。 在这一点上,它类似于Jetbrains公司的MPS产品 ,只是它的设计原理和技术实现路径与MPS有着本质性差别。 nop-entropy采用云原生设计,内置分布式事务和多租户支持,可以单机运行,也可以作为分布式集群运行,可以提供在线的API服务,也可以将针对单个业务对象的在线服务自动包装为针对批处理文件的批处理任务。对于大多数业务应用场景均提供相应的模型支持,只需少量配置即可完成主要功能,大大降低对手工编码的需求。 nop-entropy在开发期可以作为支持增量式开发的低代码平台,自动生成各类代码以及相关文档,在运行期可以作为* 面向最终用户的无代码平台的支撑技术,允许客户在线调整业务模块功能,以所见即所得的方式进行产品迭代。Nop平台可以作为一个非常精巧的通用SAAS平台底座*,基于它只需要做少量包装即可实现一个完善的针对特定领域的SAAS平台。 目前Nop平台开源的部分主要包含XLang语言的实现,以及ORM、依赖注入容器(IoC)、分布式配置(Config)、GraphQLEngine、报表引擎(Report Engine)、任务调度引擎(Job Scheduler)、批处理引擎(Batch Processing Engine)、规则引擎(Rule Engine)、工作流引擎(Workflow Engine)、流处理引擎(Stream Engine)以及AI大模型集成(Gateway/Agent/RAG/MCP)等基础框架,后续规划主要为商业智能(BI)等业务开发常用部分。 Nop Platform 2.0的代码是由Entropy Platform 1.0重构而来 最近增加了对国产框架solon的集成,参见nop-solon,打包后的jar包大小相比与Spring和Quarkus要降低10多M。开发进度: 模块说明进度nop-api-supportAPI接口的支持类已完成nop-codegen数据驱动的代码生成器已完成nop-antlrAntlr的模型驱动改造已完成nop-core虚拟文件系统、反射机制、XML/JSON解析已完成nop-ioc声明式IoC容器已完成nop-config动态配置中心已完成nop-xlangXLang脚本语言和模板语言已完成nop-daoJDBC访问、事务、数据库方言已完成nop-orm下一代ORM引擎已完成nop-graphql下一代GraphQL引擎已完成nop-rpc分布式RPC调用已完成nop-ooxmlOffice文件的解析和生成,取代POI。Word报表模板已完成nop-report中国式报表引擎已完成nop-rule规则引擎已完成nop-autotest模型驱动的自动化测试框架已完成nop-idea-pluginIDEA开发插件,支持语法提示、文件跳转、断点调试基本可用nop-cli将代码生成器、文件监听等功能封装为命令行工具基本可用nop-cluster分布式集群支持50%nop-tcc分布式事务已完成nop-dyn在线设计表单和数据模型、服务函数75%nop-workflow下一代工作流引擎65%nop-task下一代逻辑流编排基本可用nop-job分布式任务调度50%nop-batch下一代批处理引擎基本可用nop-messageKafka/Pulsar消息队列封装20%nop-dbtool数据库导入导出、数据结构比较、同步工具初步实现nop-metadata元数据管理、数据治理、数据质量40%nop-nosqlRedis封装已完成nop-stream声明式图模型驱动的流处理引擎,可集成Flink50%nop-search基于Lucene的全文检索引擎25%nop-networkTCP/IP服务处理框架、RPC通信40%nop-datavBI数据分析0%nop-aiAI大模型集成:MCP、Gateway、Agent、RAG45%nop-jsGraalVM Js引擎封装,在Java中运行JS50%nop-integration邮件、短信、文件服务等外部服务封装30%nop-auth用户权限管理已完成nop-sys系统配置管理已完成源码地址 gitee: https://gitee.com/canonical-entropy/nop-entropy gitcode:https://gitcode.com/canonical-entropy/nop-entropy github: https://github.com/entropy-cloud/nop-entropy 设计原理 可逆计算:下一代软件构造理论 NOP:下一代软件生产范式 低代码平台需要什么样的ORM引擎? 写给程序员的可逆计算理论辨析 写给程序员的可逆计算理论辨析补遗 让演化可编程:XLang 与可逆计算的结构化范式, 这一篇是AI整理的介绍文章,推荐阅读 快速开始 开发示例 介绍和答疑视频 开发文档导引 与若依Ruoyi框架集成 更多介绍视频 软件架构 nop-entropy没有使用Spring框架,所有模块均从零开始采用模型驱动的方式研发(框架本身的很多代码也是根据模型生成并可以通过声明式方式进行定制调整的)。原则上说,nop-entropy可以运行在任何支持REST服务标准的微服务框架之上。目前,我们主要是支持Quarkus框架以及Spring框架的集成。 Quarkus是Redhat公司所开源的新一代云原生微服务框架,它的开发体验以及针对GraalVM Native编译的成熟程度都明显优于Spring框架。借助于Quarkus框架,我们既可以将应用程序编译为单一的uber jar(通过java -jar指令来运行),也可以将程序编译为exe可执行程序,在运行时不需要安装JDK,而且启动速度提升数十倍。目前,nop-entropy的开发调试主要是基于Quarkus框架进行,所以对Spring框架的支持可能会存在一些小问题。 Nop平台的前端代码在nop-chaos项目中,nop-chaos的打包结果被包装为以下Java模块。 nop-web-site: 前端主页面框架的打包结果 nop-web-amis-editor: 前端使用的AMIS可视化编辑器的打包结果 在一般的业务开发中我们只会编写JSON和少量JS文件,不需要重新编译nop-chaos项目。 安装教程 环境准备: JDK 17+、Maven 3.9.3+、Git git clone https://gitee.com/canonical-entropy/nop-entropy.git cd nop-entropy mvn install -DskipTests -Dquarkus.package.type=uber-jar注意: 编译运行需要JDK17以上版本,不支持JDK8, 在PowerShell中执行的时候需要用引号将参数包裹起来 据反馈,有些JDK版本编译会报错,如jdk:17.0.9-graal会报错IndexOutOfBound异常,所以如果编译出现问题时可以先尝试一下OpenJDK。 mvn clean install "-DskipTests" "-Dquarkus.package.type=uber-jar"quarkus.package.type参数是quarkus框架所识别的一个参数,指定它为uber-jar将会把nop-quarkus-demo等项目打包成一个包含所有依赖类的单一jar包。可以通过java -jar XXX-runner.jar的方式直接运行。 Windows目录名长度限制 避免把仓库放在深层“Downloads”路径(如 C:\Users\\Downloads\...)。建议使用短路径,如 D:\nop 或 C:\nop,尽量让项目的完整绝对路径保持较短。 本仓库的 2.0.0-SNAPSHOT 模块需要先在本地构建安装,不能从公共仓库下载。请先在仓库根目录执行一次完整安装: ./mvnw clean install "-DskipTests" "-T 1C"若看到“Could not resolve dependencies … (absent)”等错误,通常是因为未进行本地安装或之前的失败被缓存。可尝试: ./mvnw clean install "-DskipTests" "-U"仍不行时,清理本地缓存后重试(默认仓库:C:\Users\\.m2\repository): Remove-Item -Recurse -Force "$env:USERPROFILE\.m2\repository\io\github\entropy-cloud"; ./mvnw clean install "-DskipTests"PowerShell乱码问题解决 可以将PowerShell的编码设置为UTF8 $OutputEncoding = [Console]::OutputEncoding = [Text.Encoding]::UTF8目前已经升级到quarkus3.0版本,用低版本maven运行nop-auth-app等模块可能会失败。建议升级到maven 3.9.3版本,或者使用nop-entropy跟目录下的mvnw指令,它会自动下载并使用maven 3.9.3。 nop-idea-plugin nop-idea-plugin是IDEA的插件项目,必须采用Gradle编译。 cd nop-idea-plugin gradlew buildPlugin目前使用的idea打包插件不支持高版本gradle。gradlew会自动下载所需的gradle版本,目前使用的是7.5.1 如果想加快gradle下载速度,可以gradle-wrapper.properties中换成 distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-7.5.1-bin.zip编译出来的插件存放在build/distributions目录下。参见插件的安装和使用。 使用说明 平台内置了一个演示程序,使用H2内存数据库,可以直接启动运行 cd nop-demo/nop-quarkus-demo/target java -Dquarkus.profile=dev -jar nop-quarkus-demo-2.0.0-SNAPSHOT-runner.jar如果不指定profile=dev,则会以prod模式启动。prod模式下需要配置application.yaml中的数据库连接,缺省使用本机的MySQL数据库 访问链接 http://localhost:8080, 用户名:nop, 密码:123 在IDEA中可以调试运行nop-quarks-demo项目中的QuarksDemoMain类。 quarkus框架在开发期提供了如下调试工具, http://localhost:8080/q/dev http://localhost:8080/q/graphql-ui在graphql-ui工具中可以查看所有后端服务函数的定义和参数。 完整的开发示例,参见tutorial 框架集成 nop-entropy不依赖于spring或者quarkus框架,也不依赖于特定数据库,因此它很容易集成在第三方应用中使用。 核心引擎的功能并不依赖于数据库,可以以纯内存的方式运行。所有存储相关的代码都已经剥离到独立的dao模块中,例如nop-auth-dao,nop-sys-dao等。1.作为增量式代码生成工具使用:maven打包时可以读取Excel模型文件,应用指定的模板目录,以增量化的方式生成代码。参见codegen.md 2.为已有的XML/JSON/YAML格式的配置文件、领域模型文件提供可逆计算支持:为模型文件增加动态分解、合并、产品化定制机制,对应用层完全透明,对于引擎层只需要编写一个自定义的模型文件加载器。参见delta-loader.md 为开发领域特定语言(DSL)提供支持:只需要定义xdef元模型文件即可获得语法提示、链接跳转、断点调试等IDE支持。后续会提供可视化设计器定制支持。参见idea-plugin.md 作为模型驱动的GraphQL引擎使用:根据Excel模型自动生成GraphQL服务,支持复杂主子表的增删改查。参见graphql.md 作为报表引擎使用:只需要在Word或者Excel文件中增加少量标注即可作为报表模板运行,动态生成复杂的中国式报表。参见report.md 作为工作流引擎使用:与定时调度引擎相结合,支持人工操作的审批工作流,也支持类似airflow的分布式DAG任务流。参见workflow.md 作为批处理引擎使用:类似SpringBatch+XXLJob框架,提供分布式批处理任务支持。可以通过配置文件指定如何解析、生成文本或者二进制数据文件,无需编写解析和生成代码。参见batch.md 作为规则引擎使用:通过配置实现复杂的业务规则判断。参见rule.md 作为数据驱动的自动化测试框架使用:通过录制、回放的机制实现自动化测试。第一遍运行的时候自动录制输出数据,此后运行时自动和录制的数据快照进行比较,减少手工需要编写的代码量。参见autotest.md 示例页面 界面框架 ! 使用Excel来定义数据模型 ! 使用Excel来定义对外发布的API模型 ! 集成百度的前端低代码框架AMIS ! 集成GraphQL调试工具 ! 提供IDEA插件,支持自定义DSL的断点调试 ! 使用Excel作为报表设计器,支持复杂的中国式报表 ! ! 使用Word模板来导出Word报表 ! 使用Excel来设计决策表和决策矩阵 ! ! 开源协议 Nop平台的前端采用MIT协议,后端整体采用AGPL3.0开源协议。但是国内的中小企业可以在类似Apache2.0协议的条件下使用本项目的代码(可以免费商用,修改代码无需开源,但是要保留源码中的原始版权信息)。为了方便第三方集成,nop-api-support/nop-commons/nop-core这三个包采用Apache 2.0协议。 判断是否中小企业的算法如下: switch(贵公司很有钱吗()){ case "有的是钱":{ console.log("都这么有钱了,还需要整天琢磨别人的知识产权是否免费吗?"); return false; default: return true; } }关于第三方依赖的版权声明,详见NOTICE文件。 技术支持 使用中遇到问题或者BUG可以在Gitee上提Issues,或者在GitCode上提Issues 致谢 感谢网友xyplayman贡献的ORM测试用例,原项目地址 https://gitee.com/xyplayman/nop-orm-demo 感谢网友Crazydan Studio对IDEA插件所进行的彻底改写,极大丰富了这个插件的功能 社区 官网国际站: https://nop-platform.github.io/ GitCode社区: https://gitcode.com/org/nop-platform/discussion 网友Crazydan Studio建立的Nop开发实践分享网站 网友评价 网友: 我们是30人的小公司,一个大半年的项目试着用了效果还可以,效果质量各方面都有提升,后面准备深度使用。 现在回过头来看最大的2个感受: 下层基础决定上层建筑,一定程度上拉高了开发人员的技术水平下限 往年维护的各种解决方案的基础框架,通过这种思想是能够形成统一,让沉淀有深度不仅仅是广度 而且现在发现之前都用错了 有一些个性的代码直接在clone分支重写了 目前看都完全可以不动Nop底层代码达到个性化的需求。如果开源项目都这样去规划 就没有那么多冗余的衍生版本了 canonical: 一个小众的框架,你们在不熟悉的情况下直接用于开发产品上线,当时是怎么想的? 网友: 低代码这块很早就了解了 也用过jeecg,jepass这种,看过很多的爱速搭、宜搭从零到一的技术路线。基于这个,一看到nop,就知道这个没错了,果断用了。 canonical: 感觉Nop与上面这些低代码框架有什么区别? 网友: 缺少理论做支撑.常见的低代码框架技术路线都会不可避免的越走越窄,太面向实践,短期可能有优势。但是web3时代,web2的产物考虑不够长远慢慢都会被淘汰。 我个人偏见,Nop相比开源的低代码框架真的是降维打击。感谢作者开源这么优秀的框架。 作者微信和微信讨论群 ! 添加微信时请注明:加入Nop平台群 微信公众号 ! ⬇️ 下载地址 {cloud type="default" title="网盘下载" url="https://gitee.com/canonical-entropy/nop-entropy/repository/archive/master.zip"} 下载后请先检查文件完整性,如有问题请在评论区反馈 -
咕炮课堂Java架构师2020 咕炮课堂Java架构师2020 图片1 教程介绍 主要针对1到5年及以上工作经验的开发人员,提供互联网行业热门技术的Java架构师专题培训,由业内技术大牛,行业及实战经验丰富的讲师进行技术分享。内容涵盖redis,mongodb,dubbo,zookeeper,kafka 高并发、高可用、分布式、高性能、并发编程等技术。 学习地址 百度:https://pan.baidu.com/s/1aHzqcduUfOZEH6pVAmJKbA 天翼:https://cloud.189.cn/t/eemYnivuIbEn 微云:https://share.weiyun.com/3FQ1xkmH UC:https://www.yun.cn/s/72739b91e04f46808057d44c87854eb3 下载后请先检查文件完整性,如有问题请在评论区反馈 -
Java代码审计工程师直播第六期 Java代码审计工程师直播第六期 图片1 课程介绍 本期直播课程将深入探讨Java代码审计的关键概念和技术。涵盖课题包括安全漏洞分析、代码审查方法、常见漏洞案例分析等。学员将通过实例掌握代码审计实战技能,提升对Java应用程序安全的认知和技能水平。 学习地址 百度:https://pan.baidu.com/s/1TWOb77kN0vjMacSMCL9Tyw?pwd=rezs 天翼:https://cloud.189.cn/t/Ib6RBrreYnIj(访问码:tz9f) 阿里:https://www.alipan.com/s/bDY8a3mbfGg 夸克:https://pan.quark.cn/s/b18666ec2c52 下载后请先检查文件完整性,如有问题请在评论区反馈 -
从0开始用Java做智慧物联网 从0开始用Java做智慧物联网 图片1 教程介绍 有Java基础,学习过Spring,SpringMVC,Mybatis框架,做过简单项目以上的同学均可学习。但并不代表,本课程就是个入门教程,对于有开发经验的同学们,物联网这个行业是个朝阳产业,也可以说是未来十年发展的蓝海。那我相信,有实体经济支撑的行业绝不会像互联网行业有那样大的泡沫,也绝不会让你工作的没有安全感。对于有志于从事物联网相关工作的同学,对于想从各方面提升自己的各位同学们来说,本课程也非常的适合你们去学习。 学习地址 百度:https://pan.baidu.com/s/1qmYYuu-GyMEZKabtKKEfXw 天翼:https://cloud.189.cn/t/NN7z2iaMNbM3 微云:https://share.weiyun.com/RqbpqTWt UC:https://www.yun.cn/s/fba295172a5d4d05a2e2858eab8c463d 文件信息 文件大小: 8953324419 字节 MD5: 8E9F805C23566437926547A0AD970D6E SHA1: B71265CFDF3475C6024FD2B3D2BDC68C4FF2317E CRC32: F9DA7FB8 下载后请先检查文件完整性,如有问题请在评论区反馈 -
轻松搞定JAVA基础+面向对象 轻松搞定JAVA基础+面向对象 图片1 课程介绍 JAVA面向对象是很多同学们的头痛之处,甚至很多同学在工作中仍然有点晕头转向,本次的课程就给同学们来一次夯实基础和重拾面向对象的好机会。同学们可以通过课程快速的掌握JAVA基础和面向对象精髓,不让基础和一些基本概念成为工作中的难点。 学习地址 百度:https://pan.baidu.com/s/1YE76IGF_EzIxIb5xi7bWYw 天翼:https://cloud.189.cn/t/FZ77namyM3yq 阿里:https://www.aliyundrive.com/s/fbzaJoNyJvy 下载后请先检查文件完整性,如有问题请在评论区反馈 -
安卓随身Java v1.1.2绿化版 软件介绍 随身Java精选了在Java基础、JavaEE、数据库、面试等过程中经常遇到的知识点,覆盖面广。适用于初学者和有一定的开发经验的开发者,随时随地学习Java知识,提高开发技术水平。已去除广告! 软件安卓随身Java v1.1.2绿化版 图片2 ⬇️ 下载地址 {cloud type="weiyun" title="腾讯微云" url="https://share.weiyun.com/f1TPt7gg"} {cloud type="tianyi" title="天翼云盘" url="https://cloud.189.cn/t/F7bme2qQNjau"} {cloud type="default" title="网盘下载" url="https://www.yun.cn/s/720ee6d8825b4174b09cd9cbdf677226"} 下载后请先检查文件完整性,如有问题请在评论区反馈 -
马老师的Java高级工程师就业班 马老师的Java高级工程师就业班 图片1 课程介绍 本课程由资深Java专家马老师授课,旨在培养学员成为具备高级工程师水平的Java开发人才。内容包括Java高级特性、分布式架构设计、微服务开发等,结合实际案例进行深入讲解,助力学员顺利迈向职业生涯的新高度。 学习地址 百度:https://pan.baidu.com/s/1YJ_7qc80S_3xDVWV3wUPSw?pwd=n3mr 天翼:https://cloud.189.cn/t/Vna6R3iQvqEf(访问码:ty9n) 阿里:https://www.alipan.com/s/63DCXNjd9AA 夸克:https://pan.quark.cn/s/c24303ad0943 下载后请先检查文件完整性,如有问题请在评论区反馈 -
马士兵Java零基础入门到精通 马士兵Java零基础入门到精通 图片1 教程介绍 本课程是一门适合纯小白入门的课程,带你从无到有走进java的世界,让你精通java的各种基础知识以及web开发框架,手把手带你敲出企业级实战项目,有问必答,理论与实践相结合教学,带你掌握真正的java核心技术。 学习地址 百度:https://pan.baidu.com/s/1C9u0P_PXlMospy8xPZY78Q 天翼:https://cloud.189.cn/t/Rr6v2yIVBrYr 微云:https://share.weiyun.com/VjbfVbeZ UC:https://www.yun.cn/s/407bae01d6b94a77b7fe263ab4418de2 文件信息 文件大小: 10776743135 字节 MD5: 210C3717719E116B4626F448C5E89FAD SHA1: 57E361B5959FB711315B4F6A0129FB92FA3367C3 CRC32: 38231DBA 下载后请先检查文件完整性,如有问题请在评论区反馈 -
轻松掌握最新版JAVA开发秘诀 轻松掌握最新版JAVA开发秘诀 图片1 课程介绍 很适合入门学习到实战的JAVA开发实战课程,课程的整体内容是经过重新设计而来的,同学们完成课程的学习可以对JAVA开发的整体流程有一个清晰的认知。课程在讲解过程中还融入了很多工程案例,经验项目总结等等,这都会提高课程的教学质量。同时课程还配套了全部的课程资料,包括课程的随堂讲义,课程的随堂笔记以及课程中用到的代码等。非常适合初学者及JAVA爱好者学习研究。 学习地址 百度:https://pan.baidu.com/s/1sHFMqH1a2vmmDhvBxrfgnw 天翼:https://cloud.189.cn/t/6FNFBjBBJbym 阿里:https://www.aliyundrive.com/s/TcmDMCXT2Au 下载后请先检查文件完整性,如有问题请在评论区反馈 -
最新JAVA大型互联网架构实战视频 最新JAVA大型互联网架构实战视频1 课程介绍 超强的一次项目JAVA互联网架构师项目实战课程,融合了很多一线的技术。包括了Dubbo案例、架构演变,MySQL数据库,VUE全栈技术,项目主体开发部分,SpringSecurity,Github实战,Nginx技术,SpringBoot,Docker容器技术,ES集群技术,RabbtiMQ等实战高阶技术。 学习地址 百度:https://pan.baidu.com/s/1uz2SLj8nGjkXr8GDYF61zg 天翼:https://cloud.189.cn/t/j67RJfeMvaqa 阿里:https://www.aliyundrive.com/s/zYzRRCdgsVu 下载后请先检查文件完整性,如有问题请在评论区反馈 -
大厂MVP技术JAVA架构师培养 大厂MVP技术JAVA架构师培养 图片1 课程介绍 很强悍的架构师涨薪计划课程,课程由专家级MVP讲师进行教学,分为是一个章节进行分解式面试及讲解,不仅仅是面试,更像是一个专业的架构师研讨会课程。课程内容从数据结构与算法、Spring Framwork、JVM原理、 JUC并发编程、消息队列、存储、缓存与搜索、服务治理与分布式、云原生、业务场景与项目架构设计等业务场景,进行全方位的讨论与指导,非常有提升性。 学习地址 百度:https://pan.baidu.com/s/1RxgohhjX7_oDq1HMUfDfyg 天翼:https://cloud.189.cn/t/IfYfMzmmMN3i(访问码:7sej) 阿里:https://www.aliyundrive.com/s/R785syXNM67 下载后请先检查文件完整性,如有问题请在评论区反馈 -
Java jdk运行库合集 软件介绍 Java开发者一站式环境解决方案。本合集集成JDK 26、25、21、17、8四个关键版本及必要运行库,并内置智能环境变量配置工具,实现开箱即用。无论开发、测试还是学习,都能快速切换与部署,彻底告别繁琐的系统配置流程。 软件Java jdk运行库合集 图片3 JRE和JDK的区别? 如果在学习或从事Java开发、编译java程序,那么安装JDK 如果仅需运行java程序,只需要Java运行库,那么安装JRE Java Development Kit(简称JDK)= Java开发套件,Java开发工具包,面向Java语言开发者。 Java Runtime Environment(简称JRE)= Java运行库,Java运行环境,面向Java程序用户们。 JDK:Java核心,含Java运行环境(JRE)、编译器(javac.exe)、开发工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和Java工具类库(如tools.jar)源代码等java语言编译所需的工具包。 JRE:Java语言开发的程序运行所需要的运行环境,包括JVM标准实现(java.exe等)及 Java核心类库(rt.jar等),它不包含开发工具(编译器、调试器等) JAVA环境变量配置: 此电脑->右键->属性->高级系统设置->环境变量: 1、「用户变量」和「系统变量」分别新建2条变量 变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_311(安装目录版本号路径) 2、「系统变量」双击->Path->编辑环境变量 -> 分别新建3条 %JAVA_HOME%\bin C:\Program Files\Java\jdk25.0_2\bin C:\Program Files\Java\jre25.0_2 检查JDK环境配置命令: CMD 输入 java -version ⬇️ 下载地址 下载后请先检查文件完整性,如有问题请在评论区反馈 -
给Java开发者的实操避坑指南 给Java开发者的实操避坑指南 图片1 教程介绍 日常开发工作中,你是不是每天都小心翼翼?Bug满天飞,不懂”辩坑“和”避坑“,不仅效率低,还影响成长速度。资深技术专家用经验为你探路,带你找坑-分析-填坑-总结,规避同类问题再发生,从“根”上解决问题,带你全面规避易错、易忽视、易曲解的”坑”,助你养成良好编程习惯和解决问题的思维方法。 学习地址 百度:https://pan.baidu.com/s/1-P0gLouqPFl_k5hyYRGvJA 天翼:https://cloud.189.cn/t/y2maEr7Z7F3q 微云:https://share.weiyun.com/wSE5W5oH UC:https://www.yun.cn/s/b156117a12ad495eb84426d28c15275d 文件信息 文件大小: 11531588397 字节 MD5: E0A63C08C80E3263922122A48C83E500 SHA1: 65B2ECA162BEC63916443A01EBD44444CF76826D CRC32: C8488FFE 下载后请先检查文件完整性,如有问题请在评论区反馈