用户报告说我维护的maven插件不再适用于maven 2(它在maven 3下运行得很好)。它无法用错误
解析pom Cause: Class 'java.util.List' cannot be instantiated
Google快速建议这是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的支持或使用具体类型之外,是否有更好的解决方案?
答案 0 :(得分:0)
现在这已经很老了,你已经回答了自己的问题,我猜......但是,为了完整起见,这里有:
我使用mvn 2.0.9并且必须从List<String>
迁移:
/**
* @parameter expression="${arguments}"
*/
protected List<String> arguments; //with or without generics, still complained!
到String[]
:
/**
* @parameter expression="${arguments}"
*/
protected String[] arguments;
pom配置如下:
<configuration>
...
<arguments>
<argument>arg1</argument>
<argument>arg2</argument>
</arguments>
</configuration>