【问题标题】:Package not found, Gradle build找不到包,Gradle 构建
【发布时间】:2017-11-12 09:43:03
【问题描述】:

我有以下问题。在我的 ORMConfiguration 文件中,我设置了一些实现 JPA 所需的基本属性。在这个 ORMConfig.java 文件中,我还有一个主类。 类导入看起来像这样

package io.good.asset.ams.dao.configuration;
import io.good.asset.ams.model.domain.Category;
import io.good.asset.ams.model.domain.Company;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import java.util.Map;

项目使用gradle构建,依赖设置如下:

project(':AMSRepository'){
    dependencies {
        compile project(':AMSModel')
        compile("org.springframework.boot:spring-boot-starter-jdbc:${springBootVersion}")
        compile("org.hibernate:hibernate-core:5.2.10.Final")
        compile("com.h2database:h2:${h2Ver}")

        testCompile("org.liquibase:liquibase-core:${liquibaseSpringVer}")
    }
}

因为这是一个多模块项目,所以我的类中的前两个导入指向不同的模块,当我尝试从根目录或单个 AMSRepository 模块构建完整的项目时,我得到了错误

错误:包 io.good.asset.ams.model.domain 不存在 导入 io.good.asset.ams.model.domain.Category; ^ 错误:包 io.good.asset.ams.model.domain 不存在 导入 io.good.asset.ams.model.domain.Company;

我的 settings.gradle 是这样的

rootProject.name = 'AMS'
include 'AMSRepository'
include 'AMSService'
include 'AMSWeb'
include 'AMSModel'

我也使用过 IntelliJ 模块设置面板并尝试手动向这个模块添加麻烦模块,最奇怪的是没有任何下划线是错误的,并且当我在 ORMConfig.java 中运行主类并实例化对象时从这些模块中,一切正常。

【问题讨论】:

  • 能否显示项目根目录下的“settings.gradle”文件?
  • @AndroidGuy 我用setting.gradle添加编辑了问题

标签: java spring intellij-idea gradle dependencies


【解决方案1】:

像war文件一样,不打算使用Spring Boot应用程序 作为依赖。如果您的应用程序包含您想要的类 与其他项目共享,推荐的方法是移动 代码到一个单独的模块中。然后可以依赖单独的模块 被您的应用程序和其他项目所依赖。

Spring Boot Doc

【讨论】:

  • 请添加更多细节。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-08
  • 1970-01-01
  • 1970-01-01
  • 2015-01-25
  • 1970-01-01
  • 2016-09-18
  • 2018-11-06
相关资源
最近更新 更多