gpt4 book ai didi

java - 使用 Ant 编译 Eclipse 项目时出现问题

转载 作者:太空宇宙 更新时间:2023-11-04 08:27:37 24 4
gpt4 key购买 nike

我在 Eclipse 上创建了一个相当大的 Web 项目(8 个月的工作)。到目前为止我一直在使用 Eclipse 构建系统。现在我出于多种原因想要使用 Ant(其中,能够添加某些 pre WAR 任务,例如 js 压缩等......)。我发现 Eclipse 自动创建一个 build.xml 文件,并设置了所有依赖项。问题是,如果我尝试运行它,它会失败并给出以下错误:

type parameters of <TypeName>TypeName cannot be determined; no unique maximal instance exists for type variable TypeName with upper bounds TypeName,java.lang.Object
[javac] return dao.getItemByProperty(propertyName, val, objectClass);

它实际上是因为泛型错误而死掉的......通常它在 Eclipse 上编译得很好(我知道这是一个不同的编译器......)。我怎样才能让 javac 与这个一起工作?

方法是:

@Override
@Transactional
public <TypeName> TypeName getItemByProperty(String propertyName,
Object val, Class objectClass) {
return dao.getItemByProperty(propertyName, val, objectClass);
}

而 dao.getItem... 是

@Override
public <TypeName> TypeName getItemByProperty(String propertyName,
Object val, Class objectClass) {

Session sess = sessionFactory.getCurrentSession();
Criteria criteria = sess.createCriteria(objectClass);
criteria.add(Expression.eq(propertyName, val));
@SuppressWarnings("unchecked")
List<TypeName> results = criteria.list();

if (results != null && results.size() != 0) {
TypeName res = results.get(0);
return res;
}

return null;
}

它们位于两个类中,分别实现两个接口(interface),第一个用于服务,第二个用于dao,它们在Spring中使用。

为什么会发生这种情况? Eclipse 编译器与 javac 有何不同?

最佳答案

实际使用的是哪个版本的 Ant,以及使用的是哪个版本的编译器?要进行健全性检查,请在尝试运行 ant 的命令行中尝试以下操作:

ant-v。

javac -v。

我曾经遇到过类似的情况,一切都应该有效,但没有。这里 Weblogic 的 ant 和 javac 版本都比我尝试使用的版本旧,并且正在使用这些旧版本而不是我想要的版本。我最终编写了一个脚本,在我的 PATH 中显式设置这些变量,并在运行 ant 任务之前运行该脚本。

关于java - 使用 Ant 编译 Eclipse 项目时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8194613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com