Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Bug] Windows Java Application 启动另一配置会停止已有进程并清空控制台,缺少提示

Aperta
#1,562 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
tauri, typescript
Ambito
desktop, devtools

Direzione di ricerca

Start with windows/tauri/src/features/run/stores/run.store.ts, especially the cited v0.6.5 lines 835–864, where application configurations share PRIMARY_SESSION_ID and output is cleared. Trace how session IDs and console output are managed for service configurations, then check the run feature's tests. Done when separate Java Application configurations can run independently and retain their logs, or the UI clearly confirms replacement and preserves the ended session's output.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area:run bug P1 platform:windows review: low
Platform / 平台

Windows

Area / 模块

Run / 运行

Lithe version / Lithe 版本

0.6.5。来自实际运行日志的 platform=windows version=0.6.5,不是根据项目分支名推测。

Priority / 优先级

P1 / 尽快处理:使用体验大幅下降,但通常仍可继续使用

OS and architecture / 操作系统与架构

Windows,系统版本 10.0.26200.0,x64。

Environment / 环境信息
  • 多模块 Maven / Spring Boot 项目,项目运行 JDK 为 Oracle Java 17.0.8。
  • 运行面板同时展示 Spring Boot 和 Java Application 分组;同一个服务的启动类也会出现在 Java Application 下。
  • 场景:希望同时运行两个不同服务,其端口不同,不是重复启动同一个服务。
  • 此报告仅针对 Windows Java Application 的会话替换与日志保留,不涉及之前遇到的配置编码或首次构建等待问题。
Steps to reproduce / 复现步骤
  1. 打开包含至少两个 Java main 启动类的项目,例如 ServiceAApplication 和 ServiceBApplication,分别使用不同端口。
  2. 在运行面板的 Java Application 分组启动 ServiceAApplication,等待其正常运行并产生控制台日志。
  3. 切换到同一分组的 ServiceBApplication 并点击运行。
  4. 观察 ServiceAApplication 的进程状态,并尝试返回查看它的控制台日志。
Expected behavior / 预期行为

不同运行配置应各自拥有进程与控制台会话:启动 B 不影响 A,并能切回查看 A 的日志。

如果产品有意限制 Java Application 同时只能运行一个配置,应在替换前明确提示“将停止正在运行的 A”,允许取消,并保留已结束会话的日志。重复启动同一个配置的策略可单独处理。

Actual behavior / 实际行为

启动另一个 Java Application 配置时,前一个运行中的程序被停止,控制台内容也被新程序覆盖,界面没有明确提示这两个不同配置共用运行会话。

这容易让用户误判为服务崩溃,旧控制台丢失也妨碍排查。当前可使用上方 Spring Boot 分组作为多服务并行运行的绕行方式;两种分组的生命周期差异在界面上不够明确。

Logs or diagnostic output / 日志或诊断输出

未采集这次会话替换的进程退出事件日志,不将其他启动故障的日志作为本问题证据。现场行为由用户操作观察提供;另已核对 v0.6.5 对应源码:

windows/tauri/src/features/run/stores/run.store.ts,第 835–864 行

const sessionId =
  configuration.execution === "service" ? configuration.id : PRIMARY_SESSION_ID;

// PRIMARY_SESSION_ID 分支会重置:
primaryOutput: ""

await dependencies.stopRunProcess(sessionId).catch(() => undefined);

以上为源码摘录,不是运行日志。不同的 application 配置共用 PRIMARY_SESSION_ID,启动时清空输出并停止同一 sessionId 的旧进程,与现场行为一致。

建议以运行配置 ID 区分 application 会话,并为结束的会话保留可回看的控制台输出;若仍采用单会话策略,请增加替换确认和清晰说明。

Screenshots or recordings / 截图或录屏

本次未公开上传截图;正文使用通用服务名描述复现,避免公开业务项目、路径或内部服务信息。

Checklist / 提交前检查
  • I searched existing issues for duplicates. / 我已搜索现有 Issue,未发现相同报告。
  • I removed secrets and personal data from the report. / 我已从报告中移除敏感信息和个人数据。
Lingua principale
TypeScript
Stelle
1.8k
Fork
151
Merge medio
11h 43m
PR unite (30g)
345

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di 1lck/Lithe-IDEA

Tutte le issue di 1lck/Lithe-IDEA

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.