Maven clean编译不起作用
我的pom文件中有maven编译器插件,如下所示,但编译器对泛型参数很生气。我的maven版本是“ApacheMaven 3.0.3(r1075438;2011-02-28 19:31:09+0200)”Maven clean编译不起作用,maven,maven-3,maven-compiler-plugin,Maven,Maven 3,Maven Compiler Plugin,我的pom文件中有maven编译器插件,如下所示,但编译器对泛型参数很生气。我的maven版本是“ApacheMaven 3.0.3(r1075438;2011-02-28 19:31:09+0200)” 此外,当我使用eclipse编译此项目时,它编译成功。项目的类路径中缺少包含com.aric.etlscheduler.domain.EulTransactionHistory类的jar。确保您已将jar作为依赖项添加到项目的pom中。从编译器错误来看,这可能就是正在发生的情况 DBUtil
此外,当我使用eclipse编译此项目时,它编译成功。项目的类路径中缺少包含
com.aric.etlscheduler.domain.EulTransactionHistory
类的jar。确保您已将jar作为依赖项添加到项目的pom中。从编译器错误来看,这可能就是正在发生的情况
正在返回DBUtils.oneAndOnlyOne(list)
而不是Object
EulTransactionHistory
- 这是因为传递给方法的列表是
,而不是对象的列表
的列表EulTransactionHistory
- 这又是因为
返回的是hibernateTemplate.findByCriteria()
对象的列表,而不是
EulTransactionHistory的列表
EulTransactionHistory existingRecord = DBUtils.oneAndOnlyOne(list);
这是因为1)Maven类路径的第一个DBUtils类有一个oneAndOnlyOne()方法返回java.lang.Object,或者2)你没有传递你认为传递的列表,而是一个未参数化的列表或列表。DBUtils在另一个项目中,你曾经有过DBUtils.oneAndOnlyOne()吗返回了一个对象?如果是这样,您需要在该项目上安装Maven
Maven使用最后安装的jar,而Eclipse,假设您以通常的方式设置它,则直接窥探另一个项目。它在那里,它不是依赖项,它在我的源代码中,当然在类路径中,通过使用Eclipse成功编译它。我认为我的语法没有任何问题,因为它是用eclipse成功编译的。您的类路径中有多个版本的DBUtils或spring吗?Eclipse和Maven可能会以不同的顺序加载它们。
List<EulTransactionHistory> list = hibernateTemplate.findByCriteria(criteria, -1, 1);
EulTransactionHistory existingRecord = DBUtils.oneAndOnlyOne(list);
public static <T> T oneAndOnlyOne(List<T> list) {...}
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project etlscheduler: Compilation failure: Compilation failure SchedulerDaoImpl.java:[329,18] incompatible types
found : java.lang.Object
required: com.aric.etlscheduler.domain.EulTransactionHistory
EulTransactionHistory existingRecord = DBUtils.oneAndOnlyOne(list);