无法让 BIRT 与 POJO 一起工作

cant get BIRT to work with POJO

我是 java 和报告工具 BIRT 的新手,我想在 Birt 中使用 Pojo 创建一个简单的报告,但我无法让它工作 我创建了我的 java 类 在其他项目中并生成一个 jar 文件,然后我用它来创建数据源但是当我尝试创建数据集时它不起作用,我无法 select 类 继续

    package com.test.pojoproject;

import java.io.Serializable;

public class Person implements Serializable {

     /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private int id;
        private String name;
        private String address;

        public Person(){

        }

        public int getId() {
            return id;
        }

        public String getName() {
            return name;
        }

        public String getAddress() {
            return address;
        }

        public void setId(int id) {
            this.id = id;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setAddress(String address) {
            this.address = address;
        }

}

    package com.test.pojoproject;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class Main implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    private static List<Person> list = new ArrayList<Person>();
    public static void main(String[] args) {
        Main.generateData();
        Main.getList();

        // display created list
        //list.forEach(person -> System.out.println(person.getName()));


    }

    public static void generateData(){
        List<Person> list = new ArrayList<Person>();
        for (int i = 0; i < 30; i++) {
            Person  person = new Person();
            person.setId(i+1);
            person.setName("person " + (i+1));
            person.setAddress("address " + (i+1));
            list.add(person);
        }
        Main.list = list;
    }

    public static List<Person> getList(){
        return Main.list;
    }

}

我找到了一个解决方案 BIRT 需要使用 class 方法打开、下一步和关闭我将 post 我的数据集 class 下面

    package com.test.pojoproject;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class PersonDataSet {

    public Iterator<Person> itr;

    public List<Person> getPersons() {
        List<Person> persons = new ArrayList<Person>();

        for (int i = 0; i < 30; i++) {
            Person  person = new Person();
            person.setId(i+1);
            person.setName("person " + (i+1));
            person.setAddress("address " + (i+1));
            persons.add(person);
        }

        return persons;
    }

    public void open(Object obj, Map<String,Object> map) {
    }

    public Object next() {
        if (itr == null)
            itr = getPersons().iterator();
        if (itr.hasNext())
            return itr.next();
        return null;
    }

    public void close() {
    }

}