我有一个从 Apache Commons Configuration 扩展 CompositeConfiguration 类的类。我正在尝试使用 MOXy 将其编组为 XML。我创建了一个 XML 适配器,可将配置转换为简单的名称/值对象列表。
我已经尝试对下面的内容使用多种变体,但仍然受阻。当我创建 JAXB 上下文时,我可以看到我的适配器类被加载和实例化,但是当我编组配置对象时它永远不会被调用。
查看 MOXy 源代码,我开始怀疑不可能为也是根元素的 Java 类指定 XML 适配器。我是否在正确的轨道上进行这项工作,还是有完全不同的方法来做到这一点?
XML 适配器:
public class JAXBConfigurationAdapter extends XmlAdapter<Object, BetterBaseConfiguration>
{
@Override
public Object marshal(final BetterBaseConfiguration javaObject) throws Exception
{
List<ConfigurationPropertyXmlType> jaxbConfiguration = new ArrayList<>();
Iterator<String> keys = javaObject.getKeys();
while (keys.hasNext())
{
String key = keys.next();
ConfigurationPropertyXmlType property = new ConfigurationPropertyXmlType();
property.setKey(key);
property.setValue(javaObject.getString(key));
jaxbConfiguration.add(property);
}
return jaxbConfiguration;
}
@Override
public CompositeConfiguration unmarshal(final Object jaxbObject) throws Exception
{
BetterBaseConfiguration configuration = …Run Code Online (Sandbox Code Playgroud) 我需要配置 rollup-plugin-postcss 以仅修改某些文件的 CSS 类名称。我知道这对于 WebPack 是可能的,但我不知道如何使用 Rollup 来做到这一点。理想情况下,我想给出一个正则表达式来描述如何处理符合该条件的 CSS 文件。
这就是我的 rollup.config.js 的样子:
import commonjs from "@rollup/plugin-commonjs";
import resolve from "@rollup/plugin-node-resolve";
import external from "rollup-plugin-peer-deps-external";
import typescript from "rollup-plugin-typescript2";
import pkg from "./package.json";
import babel from "rollup-plugin-babel";
import sourcemaps from "rollup-plugin-sourcemaps";
import postcss from "rollup-plugin-postcss";
import static_files from "rollup-plugin-static-files";
import image from "@rollup/plugin-image";
export default {
input: "src/index.ts",
output: [
{
file: pkg.main,
format: "cjs",
sourcemap: true,
},
{
file: pkg.module,
format: "es",
sourcemap: true,
},
],
plugins: [ …Run Code Online (Sandbox Code Playgroud)