问题标签 [gradle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1561 浏览

spring - 类加载器问题

我有一个关于类加载器行为的有趣问题。

问题一: classloader加载jar的顺序是什么?

给出了以下 jars 和包含的类:

将加载哪个类?

问题二: classpath中文件的路径和名称是唯一的吗?

给出了以下 jars 和包含的类(真实示例):

我可以告诉你的是,这两个文件都是由 Spring 加载的,否则会发生异常(参见这篇文章)。

我为什么这么问:

我做了一个所谓的大罐子gradle 的食谱条目)。那是一个 jar,其中应用程序类和所有其他依赖项解压缩并打包在大 jar 中。而且我不确定如何处理重复的文件。

0 投票
1 回答
487 浏览

gradle - 如何在 gradle 中获得 miglayout-swing

我正在尝试获取 miglayout jar 文件:miglayout-3.7.2-swing.jar.

我只想要这个罐子。我不想要所有的罐子miglayout-3.7.2

如果我给com.miglayout:miglayout:3.7.2@jar它下载一切。

任何人帮助我如何miglayout-3.7.2-swing.jar在gradle中下载?

0 投票
2 回答
17499 浏览

encryption - 如何在 Gradle 中使用 Maven 存储库的加密密码

我目前正在尝试将 maven 构建转换为 Gradle 构建。我遇到的阻碍是我们的内部工件被部署到需要身份验证才能读取的内部存储库。

而且您知道身份验证的含义……用户名和密码。问题是我不想要求开发人员将他们的密码作为明文存储在他们的硬盘上。Maven 支持密码加密,但我没有看到如何让 Gradle 做到这一点。

是否有一些对 Ivy CredentialStore 支持加密密码的神奇访问?还是我必须等待新版本?

0 投票
11 回答
480398 浏览

java - 无需测试的 Gradle 构建

我想在gradle build不执行单元测试的情况下执行。我试过:

这似乎没有任何作用。我可以使用其他命令吗?

0 投票
2 回答
4369 浏览

gradle - Gradle 食谱“为其他插件创建源和资源目录”

我可以在食谱中看到以下内容

我如何为网络插件列出相同的列表

0 投票
1 回答
1638 浏览

gradle - 将内置 gradle 任务工作移至 doLast/内置任务快捷方式

我想创建一个简单的同步任务,根据构建类型(例如调试/发布)稍微改变它的行为,我使用在 gradle.taskGraph.whenReady 中声明的布尔变量“dummy”:

问题是通过以下方式配置的任务具有配置范围,即在 whenReady 之前,因此它无权访问“虚拟”变量:

现在我正在使用这个解决方法

是否有可能

  1. 在除 whenReady 之外的其他地方检测/设置一些构建属性
  2. 将同步任务工作移至 doLast
  3. 或者至少有一些同步任务的快捷方式(.execute() 看起来很丑)
0 投票
1 回答
3992 浏览

dependency-injection - Gradle 无法使用 fileTree 将依赖项注入子项目

也许我错过了 Gradle 的工作方式。我这里是一个父项目,它只包含配置,即构建它时不会构建任何工件,它只是管理和构建它的所有子项目。

现在子项目共享一些依赖配置,所以我想我会在根项目的 build.gradle 中做的是:

但是,这不起作用,它会失败并显示一个相当模糊的错误消息:

评估根项目“qype-android”时出现问题原因:没有方法签名:org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile() 适用于参数类型:(org.gradle.api. internal.file.DefaultConfigurableFileTree) 值:[file set 'lib'] 可能的解决方案:module(java.lang.Object)

经过反复试验,我可以通过将“java”插件应用于父项目来“解决”这个问题。

怎么来的?我从 Gradle 文档中看不到fileTree依赖项需要 Java 插件的任何地方。即便如此,为什么我在注入配置的项目上需要它,而不是在正在配置的项目上(注意子项目都应用 Java 插件本身)?

这是否意味着如果我有 N 个不同的子项目,它们都具有不同的性质,并应用不同的插件,那么父项目也必须始终将在某处使用的所有插件集合应用于自身?

0 投票
1 回答
946 浏览

jar - 依赖 JAR 时是否可以排除类/包?

我需要依赖一个包含整个 JUnit 3 包的 JAR 文件,但我将 JUnit 4 与我的项目分开捆绑。因此,我的测试中断是因为它们是使用 JUnit 3 运行器执行的,而应该使用 JUnit 4 运行器运行它们。

问题是:我可以告诉 Gradle 在依赖 JAR 时不要包含某些类或整个包吗?

更新 它使用建议的 zipTree/copy 解决方案工作:

工作精美。

0 投票
1 回答
11444 浏览

configuration - 为什么我必须为同一个依赖项同时指定“运行时”和“编译”?

我依赖于一些我需要编译和运行我的应用程序的工件。

根据 Gradle 文档,运行时配置扩展了编译配置,因此添加依赖项使用是否runtime意味着隐式compile依赖项?

至少这是我的假设,但它不起作用。当仅依赖于使用的工件时runtime,我的项目不再编译。我真的必须:

让应用程序在运行时编译查看 Signpost 类。

我错过了什么吗?只是看起来不太对...

0 投票
1 回答
2939 浏览

eclipse - 使用gradle为EJB Module生成eclipse项目

我想为 EAR 项目、EJB 客户端 jar 和 EJB 模块生成项目和设置,但我无法向 eclipseWtp 任务插入新方面,根据 gradle 网站上的文档尝试了许多组合。

尝试了以下类似的操作,但总是出现文件过早结束错误。