Skip to content

Commit 6ec51fd

Browse files
committed
docs: synced via GitHub Actions
1 parent 86bfba2 commit 6ec51fd

File tree

1 file changed

+52
-2
lines changed

1 file changed

+52
-2
lines changed

src/dev-guide/vfs/vfs.md

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,56 @@ data名字空间下的路径根据`nop.core.resource.store.data-root-dir`配置
5353

5454
|名称|缺省值|说明|
5555
|---|---|---|
56-
|nop.core.vfs.delta-layer-ids|default|指定差量文件系统的Delta层,例如\_platform,product,app。对应/\_delta/product等虚拟路径|
57-
||||
56+
|nop.core.vfs.delta-layer-ids|default|指定差量文件系统的Delta层,例如_platform,product,app。对应/_delta/product等虚拟路径|
57+
|nop.core.vfs.lib-paths||指定差量文件系统的Delta层所在的目录或者jar文件,其中_vfs子目录为虚拟文件目录|
58+
|||
59+
60+
## nop.core.vfs.lib-paths 配置详解
61+
62+
`nop.core.vfs.lib-paths` 参数用于指定额外的资源库路径,这些路径中的 `_vfs` 目录下的文件会被合并到虚拟文件系统中。
63+
64+
### 参数格式
65+
- **类型**: 字符串列表,多个路径用逗号分隔
66+
- **示例**: `/path/to/lib1.jar,/path/to/lib2/dir`
67+
68+
### 功能说明
69+
70+
1. **支持JAR文件**: 如果指定的是JAR文件,系统会扫描JAR包中的 `_vfs` 目录,将其内容添加到虚拟文件系统
71+
- 示例:`nop.core.vfs.lib-paths=/home/user/lib/nop-auth.jar`
72+
- 系统会扫描 `nop-auth.jar` 中的 `_vfs` 目录
73+
74+
2. **支持目录**: 如果指定的是目录,系统会检查该目录下的 `_vfs` 子目录
75+
- 示例:`nop.core.vfs.lib-paths=/home/user/lib`
76+
- 系统会扫描 `/home/user/lib/_vfs` 目录
77+
78+
3. **优先级规则**: 排在前面的路径优先级更高,会覆盖后续路径中的同名文件
79+
- 示例:`nop.core.vfs.lib-paths=/path/lib1.jar,/path/lib2.jar`
80+
- `lib1.jar` 中的文件会覆盖 `lib2.jar` 中的同名文件
81+
82+
### 使用场景
83+
84+
1. **模块化部署**: 可以将不同的功能模块打包成独立的JAR文件,通过 `lib-paths` 配置动态加载
85+
2. **热更新**: 通过修改 `lib-paths` 配置,可以动态添加或替换资源文件,实现热更新功能
86+
3. **环境隔离**: 不同环境可以使用不同的资源库路径,实现配置隔离
87+
88+
### 配置示例
89+
90+
```yaml
91+
# bootstrap.yaml 配置示例
92+
nop:
93+
core:
94+
vfs:
95+
lib-paths: /opt/nop/libs/nop-auth.jar,/opt/nop/libs/nop-wf.jar
96+
```
97+
98+
```properties
99+
# application.properties 配置示例
100+
nop.core.vfs.lib-paths=/opt/nop/libs/nop-auth.jar,/opt/nop/libs/nop-wf.jar
101+
```
102+
103+
### 注意事项
104+
105+
- 路径必须是绝对路径
106+
- JAR文件必须包含有效的 `_vfs` 目录结构
107+
- 配置变更后需要重启应用或调用 `VirtualFileSystem.instance().refresh(true)` 刷新缓存|
58108
||||

0 commit comments

Comments
 (0)