JAXB.marshal が呼び出されたときに、クラス AdapterDataObj を使用してクラス DataObj を AdaptedDataObj に変換しています。
package test;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
@XmlJavaTypeAdapter(AdapterDataObj.class)
public class DataObj { 
    public String bla = "I'm DataObj";
    public String name; 
    public DataObj(String name) { 
        this.name = name;
    }
    } 
    
package test; 
public class AdaptedDataObj {
        public String bla="I'm AdaptedDataObj";
        public  String name;
        public AdaptedDataObj(String name) {
            this.name = name;
        }
}
package test; 
import javax.xml.bind.annotation.adapters.XmlAdapter; 
public class AdapterDataObj extends XmlAdapter { 
    @Override
    public DataObj unmarshal(AdaptedDataObj v) throws Exception {
        return null; // not needed in this case
    }
    @Override
    public AdaptedDataObj marshal(DataObj v) throws Exception {
        System.out.println("Marschal for " + v.name + " called!");
        return new AdaptedDataObj(v.name);
    } 
}
ここで、DataObj を新しいクラスに入れ、このクラスに対して JAXB.marshal を呼び出します。出力は問題ないようです。AdaptedDataObj が呼び出されたというメッセージも表示されます。
package test; 
import javax.xml.bind.JAXB; 
public class Testobj { 
    public DataObj x; 
    public Testobj() {
        x = new DataObj("Hallo World");
    }
    public static void main(String[] args) throws Exception {
        System.out.println("Testobj");
        System.out.println("=================================");
        Testobj to = new Testobj();
        JAXB.marshal(to, System.out);
    } 
}
ここで、" public DataObj x;" を " "に変更しますpublic Object x;。これは、そのクラスに DataObj だけでなく格納したいからです。
ただし、この場合、AdapterDataObj は呼び出されなくなります。AdapterDataObj ではなく DataObj が xml としてエクスポートされます。
どこに問題があるのか わかりますか?
また、@XmlJavaTypeAdapter を package-info.java に追加することに成功しませんでした。AdapterDataObj はまだ呼び出されていません。Java 1.7.0_45 および 1.8.0-ea でテストしました。
package test; 
import javax.xml.bind.JAXB;
import javax.xml.bind.annotation.XmlSeeAlso; 
@XmlSeeAlso({DataObj.class})
public class Testobj3 { 
        public Object x; 
    public Testobj3() {
        x = new DataObj("Hallo World");
    }
    public static void main(String[] args) throws Exception {
        System.out.println("Testobj3");
        System.out.println("=================================");
        Testobj3 to3 = new Testobj3();
        JAXB.marshal(to3, System.out);
    } 
}