Tag: gradle

Gradle:如何排除一些测试?

我的src/test/文件夹包括单元和function测试。 function测试的类路径使用单词cucumber ,而unit testing则没有。 那么,我怎样才能运行unit testing呢? 非常感谢你。 PS :我知道使用“包含”逻辑来选择测试很容易。 例如,要仅在我的情况下运行function测试,我可以简单地使用它 ./gradlew test -Dtest.single=cucumber/**/ 但是,我不知道如何以简单的方式排除测试。 顺便说一下,我正在使用gradle 1.11。

运行时使用Gradle的NoClassDefFoundError

我正在使用gradle作为JavaFX插件。 即使在构建和运行分发/的excecutable之后,一切都完美无缺,除了一个类: CloseableHttpClient 出于几个目的,我创建了以下对象: CloseableHttpClient client = HttpClients.createDefault(); 在IDE中运行程序没问题,一切正常。 但是如果我构建并尝试运行.exe-File,我会得到以下Throwable -StackTrace: java.lang.NoClassDefFoundError: Could not initialize class org.apache.http.conn.ssl.SSLConnectionSocketFactory at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:955) at org.apache.http.impl.client.HttpClients.createDefault(HttpClients.java:58) at ch.itcb.tools.lom.util.JsonSimpleUtil.http(JsonSimpleUtil.java:29)… 我真的不明白。 怎么可能只是这个class级找不到,但我所有的其他class级呢? 我的build.gradle文件: apply plugin: ‘java’ apply plugin: ‘eclipse’ apply from: ‘javafx.plugin’ sourceCompatibility = 1.8 version = ‘0.1’ jar { manifest { attributes ‘Implementation-Title’: ‘LogoffManager’, ‘Implementation-Version’: version } } repositories { mavenCentral() […]

如何以os独立方式设置Gradle`options.bootClasspath`?

因为我的Java源代码和目标必须兼容JRE 1.6,所以我需要将options.bootClasspath设置为包含1.6版本的rt.jar和jce.jar 。 它必须建立在Windows和Unix(Linux / Solaris)上。 这样做的正确方法是什么? 我现在在我的顶级build.gradle使用以下方法,它可以工作,但它似乎远非优雅,尤其是依赖于os的分隔符:或; : import org.apache.tools.ant.taskdefs.condition.Os subprojects { apply plugin: ‘java’ compileJava { sourceCompatibility = 1.6 targetCompatibility = 1.6 def java6_home = System.getenv(“JAVA_HOME_6”) def java6_lib = “C:/localdata/Program Files (x86)/Java/jdk1.6.0_45/jre/lib/” if (java6_home != null) { java6_lib = java6_home + “/jre/lib/” } def sep = ‘:’ if (Os.isFamily(Os.FAMILY_WINDOWS)) { sep = ‘;’ […]

为什么要将“智能”IDEA依赖范围“提供”而不是“编译”?

我希望IntelliJ IDEA将我的库作为“编译”范围而不是“提供”范围。 这是我的gradle文件的一部分: apply plugin: ‘java’ sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { // Logging compile ‘ch.qos.logback:logback-classic:1.2.1’ compile ‘com.getsentry.raven:raven-logback:7.8.2’ // BigQuery compile ‘com.google.api-client:google-api-client:1.20.0’ compile ‘com.google.apis:google-api-services-bigquery:v2-rev227-1.20.0’ // Configuration management compile ‘commons-configuration:commons-configuration:1.10’ //Json compile ‘org.json:json:20160810’ //Kafka compile “org.apache.kafka:kafka-clients:0.10.1.1” testCompile group: ‘junit’, name: ‘junit’, version: ‘4.12’ testCompile ‘org.assertj:assertj-core:3.0.0’ testCompile ‘org.mockito:mockito-all:1.10.19’ } task wrapper(type: Wrapper) { gradleVersion […]

如何在gradle任务中通过scp复制目录?

使用Gradle通过scp复制一堆文件的干净而优雅的方法是什么? 我目前看到的两种方式是: 使用Apache Wagon,如下所述: http : //markmail.org/message/2tmtaffayhq25g4s 使用Exec任务通过命令行执行scp 有没有更好(更明显)的方法来解决这个问题?

Spring RESTful服务作为WAR而不是Tomcat中的JAR

我正在使用Java Spring创建REST Web服务。 我已成功加载STS,示例详述如下: “本指南将引导您完成使用Spring创建”hello world“RESTful Web服务的过程。” http://spring.io/guides/gs/rest-service/ 然而,该教程只是到目前为止..我想创建一个WAR文件,而不是一个包含servlet的自运行jar,并部署该WAR文件。 然后我找到了本教程,并试图修改第一个教程build.gradle文件。 “将Spring Boot JAR应用程序转换为WAR” http://spring.io/guides/gs/convert-jar-to-war/ 它似乎在.war文件中构建得很好..服务在我的TOMCAT实例的管理器中运行..但是一旦我尝试使用该服务,我就得到了404。 url404’d http://localhost:8080/gs-rest-service-0.1.0/dbgreeting?name=MyName 我需要修改映射吗? DataBaseController.java @RequestMapping(“/dbgreeting”) public @ResponseBody DataBaseGreeter dbgreeting( @RequestParam(value=”name”, required=false, defaultValue=”World”) String name) { return new DataBaseGreeter(counter.incrementAndGet(),String.format(template, name)); } 现在我根据事物的混合创建了.war文件……并且担心我可能错过了一些东西。 我发现OSX上的XAMPP不包含webapp /文件夹,这迫使我加载Bitnami的Tomcat堆栈。 人们通常会在此基础上在XAMPP和其他堆栈之间切换吗? 或者我错过了在XAMPP中创建webapp文件夹的内容?

如何在IntelliJ Idea中禁用Gradle守护进程?

我需要在IntelliJ Idea中禁用Gradle守护进程,因为Scala插件不能与守护进程一起使用(编译因NullPointerException失败)。 我试图编辑我的IntelliJ Gradle构建配置以包含JVM系统参数-Dorg.gradle.daemon=false : 此外,我尝试在同一个地方使用–no-daemon标志(脚本参数和VM选项)。 我也尝试在IntelliJ的Preferences -> Gradle菜单中指定这些选项。 这些尝试都没有给出任何结果,守护进程继续启动,所以我必须在第二次running/compiling之前杀死它。 根据https://docs.gradle.org/current/userguide/gradle_daemon.html#N10473 ,在~/.gradle/gradle.properties禁用守护进程都没有任何效果。 如何禁用IntelliJ Idea中的Gradle守护程序用法?

是否有任何方法可以让IntelliJ IDEA在Java项目中识别Dagger 2生成的类?

上下文 我已经在Java中启动了一个个人项目, Gradle作为构建系统,我想使用Dagger 2作为DI。 这样做的主要原因是习惯了该库,并能够在更大的项目中轻松使用它。 我试过了什么 我已经设法使用IntelliJ IDEA运行Google示例 问题 IntelliJ IDEA一直告诉我它无法解析生成的类(在本例中为DaggerCoffeeApp_Coffee )。 不知道编写的代码是否正确(特别是在学习使用Dagger 2时),这有点烦人。 所有java类都与Google示例相同。 这是我的build.gradle文件: apply plugin: ‘java’ repositories { mavenCentral() } dependencies { testCompile group: ‘junit’, name: ‘junit’, version: ‘4.12’ compile ‘com.google.dagger:dagger:2.0.1’ compile ‘com.google.dagger:dagger-compiler:2.0.1’ } 题 是否有任何方法可以让IntelliJ IDEA将DaggerCoffeeApp_Coffee识别为生成的类(因此可以通过`ctrl + left click实现它的实现)?

Gradle多模块项目设置

我最近开始使用Gradle并替换现有的基于Maven的项目。 过去我使用Maven处理多模块构建时遇到了很多问题。 Gradle在处理多模块建筑时一直呼吸新鲜空气,但它并不完美。 我的项目有以下文件夹布局: — Projects —- EnterpriseApp1 —— EarProject ——– build.gradle —— EjbProject ——– build.gradle —— WarProject ——– build.gradle —— properties.gradle —— build.gradle —- CommonLib —— build.gradle —- ClientApplication —— build.gradle 我遇到的问题是“EnterpriseApp1”和“ClientApplication”都依赖于CommonLib项目。 我不知道如何配置我的“EnterpriseApp1”构建文件以使用CommonLib项目作为“EjbProject”的依赖项。 我已经非常接近让这个工作,但还没有完成工作。 我通过复制“EnterpriseApp1”中的CommonLib文件夹取得了成功,但这不是一个长期的解决方案。 这是我在“EnterpriseApp1”中的当前properties.gradle文件: include “EarProject”, “EjbProject”, “WarProject” includeFlat “CommonLib” 根据Gradle文档,“settings.gradle”文件中的“includeFlat”命令将包含与“settings.gradle”文件所在文件夹相同的杠杆中的项目(所需行为)。 EnterpriseApp1 / build.gradle文件: subprojects { apply plugin: ‘java’ sourceCompatibility = 1.6 […]

配置现有的eclipse java项目使用gradle构建

我在Eclipse中有一个现有的Java项目。 我想使用gradle实现构建。 我尝试使用这里给出的gradle eclipse插件,但在Eclipse中遇到了很多错误。 我正在使用gradle 1.3,我尝试从命令提示符运行gradle,但是我收到了编译错误。 所以我的问题是,有没有人知道一些好的资源,它提供了一个如何在Eclipse中转换现有的java项目以使用gradle进行编译。 我也对其他项目有一些依赖。 我给出的教程链接并没有多大帮助。 更新:如果我的项目没有依赖于其他项目,我可以让gradle工作。 但是,如果它确实涉及其他一些项目,我无法弄清楚如何引用另一个项目? 我已将引用的项目目录添加到存储库但我仍然得到“类不存在”错误。 我的gradle文件如下: apply plugin: ‘java’ apply plugin: ‘eclipse’ version=’1.0-SNAPSHOT’ def repositoryPath = ‘C:/Users/AMoody/workspace/temp/temp-protocols/’ repositories{ mavenCentral() flatDir { dirs repositoryPath } } dependencies{ compile ‘org.slf4j:slf4j-api:1.+’ compile ‘junit:junit:4.+’ testCompile ‘junit:junit:4.+’ }