2025-03-25 18:15

在 Java 中,可以通过 main 方法的参数 String[] args 获取启动命令传递的参数。
或者 String xxx = System.getProperty(key);
* 传参注意事项:
* 1:传参规则由 java 命令行给定,与 jfinal undertow 项目完全无关
* 2:传参以 "-D" 为前缀,并且该前缀与后方的参数名之间不能有空格
* 3:参数名与参数值中间用等号字符分格,且等号前后不能空格
* 使用示例:
* java -Dundertow.port=8080 -Dundertow.host=0.0.0.0 -jar jfinal-club-release.jar

2025-03-20 20:59

@happyboy HotSwapResolver 的 hotSwapClassPrefix 内置名单就有redis.clients.

2025-03-20 12:54

@happyboy 看错了是 addSystemClassPrefix 方法。主要也是没看见你redis工具是咋写的,估计是反序列化那里没用 JF 内置的ISerializer

2025-03-20 11:10

https://jfinal.com/doc/1-5

文档的 第4 小结 配置

2025-03-17 10:12

@高兴就好 对了,这个文章的下面小木老师就有分享了 https://jfinal.com/share/2784

2025-03-17 10:10

@高兴就好 这个教程网上也太多了吧,如果不会各种配置,可以试试1Panel 控制面板,界面点点就行,网上搜索一下就看见了

2025-03-16 09:04

@张叶 看你这错误信息 [ERROR][BaseModel][findDataList] 是自建的方法,可以自行增加 try 异常捕获异常。异常时把需要的参数都拼接一起记录上,一个NullPointerException也看不出啥。
或者你把这个findDataList功能的源码贴出来,我们也能参考一下大概原因

2025-03-02 17:25

PS: DeepSeekClient 做好单例,可以弄一个静态变量,或者弄个静态 MAP 装载不同类型的DeepSeekClient

2025-03-02 17:22

DeepSeekClient client = conf.build();

Flux<ChatCompletionResponse> flux = client.chatFluxCompletion("你好 deepseek");
SseEmitter sseEmitter = new SseEmitter(getResponse());
flux.subscribe(d -> d.choices().forEach(v ->
sseEmitter.sendMessage(v.delta().content())));
sseEmitter.complete();
renderNull();


前端 你搜 const eventSource = new EventSource('/sse'); 的用法就知道了。
可以参考一下前端部分(对于你的业务这个例子稍复杂了,可以直接问deepseek JS EventSource 的用法):
https://jfinal.com/share/2770

2025-02-26 22:42

我们项目中规定确实不用,统一 int 2 位。。。tinyint 1 位的时候是布尔

2025-02-25 18:22

@北流家园网 maven 依赖呗,可以看依赖 jar 里面的 pom.xml 就能追踪定位 reactor-core、lombok

2025-02-25 15:36

@北流家园网


<dependency>
<groupId>io.github.pig-mesh.ai</groupId>
<artifactId>deepseek4j-core</artifactId>
<version>1.4.3</version>
</dependency>

public static void main(String[] args) {

DeepSeekClient.Builder conf = DeepSeekClient.builder();
conf.baseUrl = "https://ai.gitee.com/v1/";
conf.model = "DeepSeek-R1";
conf.openAiApiKey = "码云令牌要自己创建";https://ai.gitee.com/serverless-api?model=DeepSeek-R1
DeepSeekClient client = conf.build();

Flux<ChatCompletionResponse> flux = client.chatFluxCompletion("你好 deepseek");
// 订阅并打印每个 ChatCompletionResponse 对象
flux.subscribe(System.out::println);
}

实际上自己写http工具调用也没几行代码,都可以问deepseek

2025-02-25 15:26

@北流家园网 是直接支持 SP、Solon 等框架可以直接调用。但是也支持单独写 Java 调用啊,比如直接在 Java main 里面调用。那和在 JF 里写个 Controller 也没啥区别。
https://javaai.pig4cloud.com/deepseek/function

2025-02-25 09:44

PS: gitee 家的https://ai.gitee.com/serverless-api 也很给力,按次调用 1 毛一次 DeepSeek-R1 满血版

2025-02-25 09:32

@北流家园网 Ollama 上有端口来着,可以直接问deepseek 能给出操作步骤和好几个方案。我没私有部署过,当前我知道的AI平台csdn 有个inscode 产品,里面可以直接 UI 操作要哪个模型,以及会给API地址。
https://models.csdn.net/
deepseek-r1:70b 价格:
输入:¥2/ M Tokens
输出:¥2/ M Tokens