【发布时间】:2017-10-05 20:51:08
【问题描述】:
我正在做一个 gradle 项目。我使用 gradle 构建和运行我的项目并查看输出没有问题。但是,在我的 NetBeans 和 Eclipse 中,以下几行都带有红色下划线:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import javax.persistence.criteria.CriteriaBuilder;
错误是:
包 xxx 不存在
这实际上很烦人,因为这意味着我没有自动完成功能,也没有真正的能力在尝试构建之前检测合法的构建错误。
重新启动 IDE 没有帮助。清理和构建无济于事。我也安装了 gradle 插件,但没有任何改变。
如何更改我的设置,以便 NetBeans 将其识别为 gradle 项目并获取我的依赖项?
我的build.gradle,根据 cmets 的要求:
apply plugin: 'java-library'
apply plugin: 'application'
mainClassName = 'server.Server'
repositories {
jcenter()
}
dependencies {
implementation 'org.hibernate:hibernate-core:5.2.10.Final'
implementation 'org.postgresql:postgresql:42.0.0'
implementation 'com.sparkjava:spark-core:2.5.5'
implementation 'com.google.code.gson:gson:2.8.0'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.7.22'
}
编辑
构建脚本正常工作,但是当我将项目签入源代码管理然后在另一台机器上签出时,问题就出现了。我本来想在我原来的帖子中非常清楚这一点,但我认为我失败了。
【问题讨论】:
-
这不足以解决问题。由于您说 2 个 IDE 存在相同的问题,因此可能是您的构建脚本有问题。你可以从命令行构建它吗?无论如何,您应该链接构建脚本(或您遇到相同问题的示例)。
-
@AttilaKelemen 按照您的要求发布了 build.gradle。正如我在问题中所说,从命令行使用 gradle 构建没有问题。我无法从命令行正常构建。我怀疑以某种方式签入源代码控制的版本缺少类路径信息或类似的东西。但是,我不知道在 git 中包含什么文件可以解决这个问题,或者如何确认这是问题所在。
-
您的构建脚本在 NB 中对我来说很好用。会不会是您在 IDE 中使用了不同版本的 Gradle?在 NB 中,您可以在项目属性中更改使用的 Gradle 版本。
-
如果我创建一个新项目,构建脚本也适用于我。只有当我在另一台机器上从 git 签出我的项目时,它才起作用。抱歉,如果问题不清楚
-
SCM 应该没有任何作用。也许路径中有符号链接?您是否尝试过将源代码检出到另一个目录(或手动将项目移动到另一个目录)?
标签: java gradle netbeans compiler-errors dependencies