一位用户报告说,我维护的一个 maven 插件不再适用于 maven 2(它在 maven 3 下运行得很好)。它无法解析带有错误的pom
Cause: Class 'java.util.List' cannot be instantiated
一个快速的谷歌建议这是 3.0 之前的 maven 模型中的一个错误,它影响了其他插件。
http://code.google.com/p/maven-samaxes-plugin/issues/detail?id=18
我最近通过为 List 参数指定表达式添加了对通过命令行设置值的支持,看来这已经触发了这个错误。
/**
* @parameter expression="${targetClasses}"
*/
protected List<String> targetClasses;
我可以通过将字段声明为具体的列表类型来解决这个问题,但是每个人都知道每次你这样做都会死去一个仙女。
除了取消对 maven 2 的支持或使用具体类型之外,是否有更好的解决方案来解决这个问题?