当前位置: 首页 > 知识库问答 >
问题:

在分级中管理项目的生成资源

勾海超
2023-03-14
/MainProj/src/main/java - The application
/MainProj/src/main/resources
/InternalProj/src/main/java - Code for generating additional resources for MainProj
/InternalProj/src/main/resources

当我使用特殊的Gradle任务运行InternalProj时,它将生成一些文件到/InternalProj/output中,然后将这些文件复制到/mainproj/src/main/resources中。不用说,这真的很难看,我想知道如何以更好的方式做到这一点。我应该将它放入构建中还是直接放入/mainproj/src/main/resources中?也许用符号链接?

现在,我使用了一个从/src/main/generated-resources/build/something的相对符号链接,到目前为止,它运行良好。但现在我有一个不同的问题:任务a生成一些资源,而任务B依赖于这些资源,从而依赖于a。如果运行Gradle BGradle A BB仍然会失败,因为A生成的资源没有更新到其生成文件夹中。如何强制Gradle更新资源?

共有1个答案

朱越
2023-03-14

您可以将output文件添加到internalproj的主源集中:

示例Groovy代码

sourceSets {
    main {
        resources {
            srcDirs "src/main/resources", "output"
        }
    }
}

相关解答:https://stackoverflow.com/A/38982006/3708426

 类似资料:
  • 根settings.gradle.kts如下所示: 在SoaProject的一个build.gradle.kts文件中,例如,我有以下依赖项: 导入/刷新gradle项目在Intellij中工作,并且依赖项被下载。但是当我尝试从子项目执行gradle任务时,我得到一个未解决的引用版本错误。 向西蒙致意

  • 管理场景 新建场景 通过 Editor.Ipc 模块新建场景: Editor.Ipc.sendToPanel('scene', 'scene:new-scene'); 保存当前场景 对场景数据修改完成后可以通过 Editor.Ipc 模块来保存当前场景: Editor.Ipc.sendToPanel('scene', 'scene:stash-and-save'); 加载其他场景 我们的扩展包可能

  • 我有一个非常基本的多项目分级设置,如下所示: 文件包括这两个子项目。根项目不应用java插件,但两个子项目都应用了。使用时,所有东西都按预期生成。 但是,据我所知,由于我没有在根项目中应用插件,因此它不应该有任务。 的输出显示任务。 但的输出只显示列有和。 所以我的问题是--在这个场景中到底执行了什么?gradle只是找到所有子项目中匹配供应模式的每一个任务吗?是否有关于此任务名称解析的特定规则?

  • 我正在进行带有多个Grails插件的Grails项目(Grails2.3.11)。一个主要的Grails项目,加上一些用户定义的Grails插件和核心Java项目,创建了一个完整的应用程序。到目前为止,这些项目都是使用Ant Builder构建的。最近升级的构建过程使用Gradle。 gradle过程的问题是,有些项目需要用JDK1.7构建,有些项目需要用JDK1.8构建。为了修复它,我将java

  • 我在Eclipse上遇到了大麻烦 我下载了最新的ADT包,然后新建了一个新的Android项目,但出现了一个错误: 然后我用谷歌搜索了一下,发现了一些建议,比如新的工作空间,但还是不行 而我发现一个奇怪的现象,java编译器总是改成1.4,而jre总是缺失,每次工作空间改变时都会发生 新项目也很奇怪 我选择项目的属性,另一个错误发生在选择Android时 然后我google错误,发现一个解决方案是

  • 我从他们的github下载了gradle插件测试项目:https://github.com/gradle/gradle/tree/master/subprojects/docs/src/samples/customplugin 我还将gradle更新到了最新版本()。 当我项目时,我得到以下生成错误: > 错误:配置根项目“consumer”时出现问题。 无法解析配置“:classpath”的所有