小编bhc*_*ney的帖子

排除STS内Emma中的合成类

当尝试使用emma:emma运行Coverage或运行maven构建时,我得到以下内容:

java.lang.IllegalStateException:无法访问方法:无法将static final [Z field packageName.ClassName.$ jacocoData设置为[Z]

所以我在网上搜索了一下,我在EclEmma网站上找到了以下内容:

我的代码使用反射.当我用JaCoCo执行它时为什么会失败?

为了收集执行数据,JaCoCo检测被测试的类,它们为类添加了两个成员:私有静态字段$ jacocoData和私有静态方法$ jacocoInit().两个成员都标记为合成.

请更改您的代码以忽略合成成员.无论如何,这也是一种很好的做法,因为Java编译器在某些情况下也会创建合成成员.

但我在网上找不到关于如何用Emma实际忽略合成成员的任何文档.

在STS中我查看了Preferences/Java/Code Coverage,我看到一个Excludes框来放置排除项(我知道我也可以将排除项放在我的POM中).

我只是想知道需要在那里排除所有合成类.

谢谢

java code-coverage emma eclemma spring-tool-suite

10
推荐指数
1
解决办法
2592
查看次数

使用JAXB在SOAP上传递HashMap <String,Object>

我试图通过SOAP传递Hashmap.我正在使用CXF wsdl2java来创建我的架构.我已经为我的HashMap创建了一个包装类,因为Hashmap本身不能通过该行传递.

然后我创建了适配器来将Hashmap变形为我的wsdl的已知类型,但是当我的wsdl被创建时,它会添加一些不需要的抽象地图.以下是代码:

这是我的HashMap包装类

@XmlRootElement(name = "testTO")
public class TestTO {

    private HashMap<String, Object> mapTest;

    public TestTO(){
        this.mapTest = new HashMap<String, Object>();
    }

    @XmlJavaTypeAdapter(MapAdapter.class)
    public HashMap<String, Object> getMapTest() {
        return mapTest;
    }

    public void setMapTest(HashMap<String, Object> mapTest) {
        this.mapTest = mapTest;
    }

}
Run Code Online (Sandbox Code Playgroud)

这是MyMap类,其中是已知的模式类型

@XmlJavaTypeAdapter(MapAdapter.class)
public class MyMap extends HashMap<String, Object>{
    public final List<Entry> entryList = new ArrayList<Entry>();
}
Run Code Online (Sandbox Code Playgroud)

这是Entry List,其中包含上面的列表:

public class Entry {

    @XmlAttribute
    public String key;

    @XmlElements({
            @XmlElement(name = "byte", type = byte.class),
            @XmlElement(name = "short", type …
Run Code Online (Sandbox Code Playgroud)

java schema soap wsdl2java jaxb

5
推荐指数
2
解决办法
9558
查看次数