配置没有编译时依赖性的Moxy配置

时间:2013-09-26 22:19:36

标签: jaxb2 moxy

我将我的项目代码移到了JavaONE 4.0之后的JavaONE,并意识到我对eclipelink和moxy有一个maven编译和bundle依赖。 (现在应该在GS4中提供这两者)。同样,由于Moxy现在是JSON序列化的默认JAXB提供程序,我想删除此编译/提供的依赖项。但是我需要将提供程序配置为不输出" @"对于属性前缀。

如果没有对提供程序进行反射查找,除了具有编译时依赖性之外,还有另一种方法吗?

在我做以下事情之前...

MOXyJsonProvider moxyJsonProvider = new MOXyJsonProvider();
moxyJsonProvider.setAttributePrefix("");

在我的申请中。

1 个答案:

答案 0 :(得分:0)

您可以使用Jersey依赖项而不是MOXy依赖项执行以下操作。

import javax.ws.rs.ext.*;
import org.glassfish.jersey.moxy.json.MoxyJsonConfig;

@Provider
public class MOXyJsonContextResolver implements ContextResolver<MoxyJsonConfig> {

    private final MoxyJsonConfig config;

    public MOXyJsonContextResolver() {
        config = new MoxyJsonConfig()
            .setAttributePrefix("");
    }

    @Override
    public MoxyJsonConfig getContext(Class<?> objectType) {
        return config;
    }

}

了解更多信息


<强>更新

我在你提到的问题的评论部分注意到你尝试过这种方法而没有成功。你能发布你试过的吗?