【仅供内部供应商使用,不提供对外解答和培训】
Table of Contents |
---|
插件开发中, 有时候我们会在内部使用一些第三方的 lib, 这些 lib 可能会与我们服务器中的 lib
...
相冲突。 从而导致插件无法继续运行的尴尬场面。
在 2019.07.03 后的版本中, plugin.xml 加入了 prefer-packages 属性,解决这个方法。
在 2020.03.25
...
后的版本中, prefer-packages 属性可以支持通配符 * ,方便设置批量加载
Code Block | ||||
---|---|---|---|---|
| ||||
<prefer-packages> <prefer- |
...
package>com. |
...
fr.harrison</prefer-package> </prefer-packages> |
之后,当加载到相关的类时, 比如 com.
...
fr.harrison.
...
test1.
...
则会避免双亲委派, 先从 plugin/classes 或者 plugin/lib
...
中读取类。
从而避免在插件内部使用一些类时与我们服务器中的 lib 冲突。
如果有多个可以使用多个子节点 prefer-package。
如
Code Block | ||||
---|---|---|---|---|
| ||||
<prefer-packages>
<prefer-package>com.fr.harrison</prefer-package>
<prefer-package>com.fr.alex</prefer-package>
</prefer-packages> |
通配符使用方式
Code Block | ||||
---|---|---|---|---|
| ||||
<prefer-packages>
<prefer-package>*</prefer-package>
<prefer-package>com.fr.*</prefer-package>
<prefer-package>com.fr.*.harrion.*</prefer-package>
</prefer-packages> |