после декомпиляции моего интерфейса я обнаружил, что proguard продублировал мой реализованный метод в интерфейсе верхнего уровня, который каким-то образом является классом сам по себе.
вот как выглядит мой интерфейс после обфускации (обратите внимание, что proguard даже добавил аннотацию из реализации)
package com.company.project.f.a.a;
import java.util.List;
import org.apache.log4j.Logger;
@Component(value="ServiceImpl")
public class a
{
public b a(int i)
{
if((i = b.a(i)) != null)
{
if(i.size() == 0)
{
a_.fatal("It is expected at least one record.");
return null;
} else
{
return (b)i.get(0);
}
} else
{
return null;
}
}
public a()
{
a_ = Logger.getLogger(getClass());
}
public com.company.project.b.a.a a()
{
return b;
}
public void a(com.company.project.b.a.a a1)
{
b = a1;
}
private com.company.project.b.a.a b;
Logger a_;
}
та же проблема произошла с классом ниже (proguard преобразовывает интерфейс в класс с тем же именем компонента)
@Component("testDao")
public class TestDaoImpl implements TestDao {
@Override
public void testing() {
// TODO Auto-generated method stub
}