当前位置: 首页 > 面试题库 >

Gradle:多个Java项目的公共资源依赖关系

尚安平
2023-03-14
问题内容

我正在使用gradle / intellij-idea开发一个多模块项目,这是我的项目主页的结构:

project/
  sub-project-1
    /main/resources
  sub-project-2
    /main/resources
  data
    /main/resources
    /test/resources

如您所见,我有多个子项目(全部为Java),如何使它们依赖于某些公共资源(“数据”项目,该项目不包含任何代码,仅包含资源),以及它们各自的资源?

同样,最好是intellij-idea可以使用JetGradle自动选择这些依赖项(JetGradle可以很好地选择每个子项目中的默认gradle
java项目依赖项)。

非常感谢!


问题答案:

一种解决方案是将Java插件也应用于data项目,然后使用常规项目依赖项(例如dependencies { runtime project(":data") })。但是,这将需要一些努力来防止运送测试资源。

另一个解决方案是不创建dataGradle项目,而实际上将其资源目录包括在其他两个项目(sourceSets.main.resources.srcDir "../data/main/resources"; sourceSets.test.resources.srcDir "../data/test/resources")中。



 类似资料:
  • 我已经在NetBeans8.1中创建了5个不同的Java SE项目。我想创建一个新的项目,该项目带有一个介绍窗口,该窗口带有链接/打开链接到该按钮的项目的按钮,并从该窗口创建一个软件。 我已经在主项目->Properties->Library->Compile->Add Project中添加了依赖项(其他项目的jar文件)。 当我在netbeans中运行它们时,运行窗口打开了,但是当我从主项目中调

  • 我面临着以下问题。我有两个Gradle项目(ProjectA和ProjectB)在同一个层次结构上,没有任何根项目。由于ProjectA依赖于ProjectB,我尝试将其建模如下: ProjectA的settings.gradle: ProjectA的build.gradle: 然而,当我在ProjectA上执行gradle build时,我得到了以下错误: 我必须在ProjectB中定义某种默认

  • 本文向大家介绍gradle 依赖于另一个Gradle项目,包括了gradle 依赖于另一个Gradle项目的使用技巧和注意事项,需要的朋友参考一下 示例 对于多项目gradle构建,有时可能需要依赖构建中的另一个项目。为此,请在项目的依赖项中输入以下内容: ':OtherProject'从目录结构的根引用的项目gradle路径在哪里。 为了':OtherProject'在build.gradle文

  • 问题内容: 有什么方法可以在Maven中的父项目的模块之间共享资源?例如,我想为一个多模块Maven项目中的所有模块指定一个log4j.properties文件。 通常,我使用Eclipse IDE通过选择常规项目来创建父项目,然后通过指定的包装将其转换为Maven项目。这将创建一个没有and等文件夹的“干净”项目结构。我不知道在这种情况下应该在哪里放置这样的共享资源。 EDIT1 :我想将公共资

  • 问题内容: 在我的Maven项目中,有一个模块(核心),该类具有一些资源。在模块中运行类时,它可以获取自己的资源。一切正常。 当依赖于核心的另一个模块尝试运行该类时,东西就会中断。Java在其中寻找资源的文件夹是此模块,而不是核心模块。因此,该类失败了。 简而言之:如何访问依赖项的资源? 我已经尝试通过在Core的JAR Manifest中进行声明来做到这一点。但是,当列出可用的资源时(JSHoo