草庐IT

gradle-task

全部标签

java - Gradle 下载源码依赖

在gradle中,我有以下build.gradle,它导致很多JAR被复制到“sources”文件夹,但实际上只有jersey-media-moxy-2.22.2-sources.jar包含源代码:defaultTasks'run'repositories{mavenCentral()}configurations{sources{description='sourcesdownload'transitive=true}copysource{extendsFromsources}}dependencies{sourcesgroup:'org.glassfish.jersey.media

java - 在不使用时钟的情况下用 Java 实现 "task based"程序

我的一个friend在Java开发人员的工作面试中被要求实现一个接收任务的程序,这些任务基本上是具有“待办事项”方法和表示秒数(比如整数)的时间字段的对象。程序应执行任务的“待办事项”方法-从任务到达程序的那一刻起X秒内(其中X是此任务对象中定义为时间字段的时间)。例如,如果程序接收到一个任务,该任务有一个打印“helloIamatask”的“todo”方法并且时间字段为20,那么程序将在20分钟后接收到该任务-“你好,我是一个任务”消息将打印到控制台。你不能使用时钟或计时器,但你确实有某种“内置调度程序”,它每秒运行一次,可以检查每个任务的状态并在需要时执行它们。我认为一个好的解决方

java - Gradle 部署项目到 ear

我有以下结构的项目--MyPrj.ear--APP-INF--src--lib--META-INF--application.xml--weblogic-application.xml--WEB_MAIN--assets--WEB-INF--conf--web.xml--weblogic.xml我想部署到具有以下结构的PRJ.ear文件:--MyPrj.ear--APP-INF--classes--lib--META-INF--application.xml--weblogic-application.xml--WEB_MAIN--assets--WEB-INF--conf--web.

java - Gradle 能否以任何方式帮助解决 jar hell?

这里是Java8。假设有一个旧版本的widget库,使用Maven坐标widgetmakers:widget:1.0.4,其中定义了一个类,如下所示:publicclassWidget{privateStringmeow;//constructor,getters,setters,etc.}岁月流逝。此widget库的维护者决定Widget永远不应该meow,而是应该bark.因此,一个新的版本发布了,Maven坐标widgetmakers:widget:2.0.0和Widget看起来像:publicclassWidget{privateBarkbark;//constructor,g

java - 在 Intellij 中将 Java 项目转换为 Gradle 项目

我有一个非常基础的java项目。在Eclipse中有一个将项目转换为Maven项目的选项,您只需右键单击java项目并单击“转换为Maven项目”。所以基本上它会为您创建一个pom.xml文件。IntelliJ是否有类似的命令来转换为Gradle?找了一圈,好像不是。 最佳答案 通过IntellijIDEA从Maven迁移到Gradle的简单方法是:从https://gradle.org/安装Gradle构建工具将路径添加到系统环境(就像在Gradle指令中一样)在IntellijIDEA中打开您的Maven项目,然后打开“终端”选

java - 如何在同一个 Gradle 构建中运行 JUnit5 和 JUnit4?

我阅读了有关Maven的答案,但我想知道如何在Gradle中完成此任务-ExecutingJUnit4andJUnit5testsinasamebuild.目前,我的Gradle构建只接受以下测试:导入org.junit.jupiter.api.Test;我的问题是我正在使用需要JUnit4才能运行的@RunWith但我想在JUnit5VintageEngine上执行它。如何构建才能同时运行JUnit4和JUnit5。谢谢。更新:现在有一个用于JUnit5的原生MockitoJunitJupiter-https://mvnrepository.com/artifact/org.mock

java - JAXB Ant Task - 从哪里获得 JAR?

有许多资源可以解释JAXBAnt任务。例如Oracle本身:http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.6/jaxb/ant.html.然而,显然,没有任何来源似乎提供了JAXB库,尤其是jaxb-xjc.jar,或者至少给出了在哪里下载它的提示。我的JDK1.6.0_24的XJCJABX编译器是2.1.10版本。JDK中似乎没有提供任何JAXB库。我尝试了诸如jaxb-builderEclipse插件(http://sourceforge.net/projects/jaxb-b

java - java线程间通信: stopping all threads when one finishes its task

我有n个线程并行运行,每个线程都执行一些自定义逻辑。但是,我的要求是,当任何一个线程完成执行时,所有其他线程都应该停止执行并返回。实现它的最佳方法是什么?我想通过共享boolean变量来做到这一点。当任何线程完成执行时,它将设置boolean值。所有线程都定期读取此变量并在设置时退出。此外,我的自定义逻辑是一个无限循环,一旦我知道某个其他线程已完成执行,我想在当前迭代后停止执行。这样做的正确方法是什么? 最佳答案 使用ExecutorService及其.invokeAny()方法(注:也有超时的版本)。来自Javadoc:Execu

java - 在 Gradle 构建中禁用 findbugs 检查错误类别

我一直在eclipse中使用Findbugs插件,现在想将该功能移至我的Gradle构建脚本,以便在检测到任何严重错误时构建将失败。我想禁用以下错误类别:实验安全国际化恶意代码以上是Eclipse插件中的默认设置。但是在Gradle中,查看documentation我只能找到一种方法来禁用个别错误检查。然而,这是不可行的,查看sourcecode,其中有将近100个要通过并单独启用/禁用。是否有更简单的方法来禁用上述类别,以便Gradle调用的Findbugs的行为与Eclipse插件默认配置相同?编辑:到目前为止,我们已经知道“excludeFilter”选项可用于指定包含应排除的错

java - 为什么Gradle或者Maven没有依赖版本锁文件?

我最近在阅读NPM、Yarn、Paket、Cargo等包管理器时了解到依赖版本锁定文件的概念。我的理解是它是一个列出所有直接和传递依赖项的文件以及它们的确切版本号,因此保证后续构建使用一组等效的依赖项。这似乎是一个理想的特性,因为许多包管理器已经或正在采用这个概念。我的问题是:为什么Maven或Gradle不使用锁定文件?或者如果他们这样做了,为什么我没有看到它?在包管理器的依赖项解析策略中允许版本范围与仅允许精确版本的优缺点是什么? 最佳答案 Maven没有有办法实现您的要求。即使您为直接依赖项设置了特定版本(您应该这样做),您的