草庐IT

Gradle-build

全部标签

java - 使用Intellij在gradle项目中设置断点

现在IntelliJ12.1已经发布,我希望能够将调试器附加到“gradlerun”应用程序并让它在断点处停止。我已经尝试过右键单击运行并选择调试它,并按照此答案中的建议设置GRADLE_OPTS环境变量:DebugGradlepluginswithIntelliJ并远程附加调试器,这工作正常,但没有一个在断点处中断。我一定是遗漏了什么。 最佳答案 我可以通过配置run任务来远程调试。因为它是JavaExec任务,它支持jvmArgs属性:run{jvmArgs"-agentlib:jdwp=transport=dt_socket,

java - 如何在不实际构建东西的情况下制作 gradle 下载依赖项

在新环境中gradlebuild需要相当长的时间,因为必须下载所有依赖项。有没有办法只下载依赖来加速后续构建?这样我们就可以预先填充CI构建环境。 最佳答案 编辑:为Gradle6+更新。一些注意事项:这种新方法将jar下载到一个文件夹中,然后删除该文件夹。因此,将jar放在Gradle缓存中是一种副作用。它目前使用为main源代码集配置的jar,但可以通用化。即使它既不高效也不优雅,但如果您确实需要jars(和传递依赖项),它会很有用:只需注释掉runtime文件夹的删除即可。当您想要jar(和传递依赖项)时,此解决方案会很方便,

java - ant build过程中修改代码的最佳实践

诚然,这听起来不像是最佳实践,但让我解释一下。在构建期间,我们需要将构建号和系统版本粘贴到一个类中,该类的唯一目的是包含这些值并使它们可访问。我们的第一个想法是使用系统属性,但由于部署环境的易变性(另一种说法是“系统管理员正在做奇怪的、邪恶的令人毛骨悚然的事情”),我们希望对它们进行硬编码。基本上我看到了在ant中实现它的4种可能性:使用在类中的标记上此方法的问题是文件已更改,因此您必须在编译后用替换回标记...太丑了,我不想用正则表达式接触源代码。加上时间依赖性。复制文件,对副本进行替换,编译副本,删除副本一个人必须注意顺序-原始类必须首先编译才能被副本覆盖。时间依赖性也很丑陋。复制

java - 在 gradle 的 eclipse 构建中拆分 main 和 test

今天我尝试将一个带有集成测试的项目从maven切换到gradle。一切正常,除了我在testng上遇到严重问题。该项目使用hibernate/JPA2进行数据库访问,并有几个依赖于test/resources/META-INF/persistence.xml中的持久性单元的测试。当我使用gradle运行测试套件时,一切正常。但是当我从eclipse运行xml(或任何测试类本身)时,它似乎试图使用main/resources/META-INF/persistence.xml。因为我的大部分工作都使用TDD,所以我确实需要从eclipse运行/调试测试。当我将持久性单元添加到生产persi

java - 如何根据 Javadoc 警告使 gradle 构建失败

我正在使用Java7(尽管使用1.6进行编译)来编译类和javadoc。我已经消除了所有出现的javadoc警告,但我的想法是如果有任何javadoc警告则让构建失败。使用Java8,这是默认行为。但是,它在警告方面也更加严格(如果方法未列出所有@params或@returns,我们不希望收到警告)。另外,我认为公司不会很快升级到8,所以这是一个有争议的问题。我希望有一些简单的标志可以设置为在出现警告时让gradle失败(只有failonError)。我在想的是抓取javadoc进程的控制台输出。如果该输出包含WARNINGS,那么我知道有警告,构建应该会失败。这是我的build.gr

java - 如何通过 Gradle 将 ojdbc7 添加到 Java Web 应用程序?

我的背景:我构建了一个基于SpringBoot的JavaWeb应用程序1.3.5.发布。我尝试将ojdcb添加到依赖项列表但没有成功。我知道Oracle在http://maven.oracle.com这是我的build.gradle文件,让我们关注第4、5、6、36行:buildscript{repositories{mavenCentral()maven{url("https://maven.oracle.com")}}dependencies{classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.5.RE

java - Netbeans build-impl.xml 错误

我在netbeans6.8上开发一个项目,一切都很好,但一周前,我安装了netbeans7.0只是为了尝试。当我打开nb7.0时,我的项目也在7.0中列出。现在,我正在尝试在netbeans6.8上编译我的项目,但它给了我这个错误。nbproject\build-impl.xml:517:copylibsdoesn'tsupportthe"indexMetaInf"attribute我猜netbeans7.0更改了文件。我该如何解决这个问题? 最佳答案 我自己找到了解决方案,并想分享,使用netbeans6.8创建一个新项目并复制其

java - 如何通过 Groovy 获取文件 build.gradle 的完整路径?

我需要在buiid.gradle文件附近的java项目中创建文件。我必须在build.gradle-file中创建任务(Groovy任务),我的任务必须在我的项目中的buiid.gradle附近创建文件,但我不知道-如何获取buiid.gradle-file的路径,即放入我的项目。Groovy如何获取文件buiid.gradle的完整路径?请帮助我。 最佳答案 有几种方法可以实现这一点。如果您查看WorkingWithFiles页面,您可以简单地使用作为Project对象一部分的file()方法。如果您查看ProjectDSLDoc

java - Gradle - 子项目排除父定义的项目依赖

如何排除父定义的compileproject依赖项?模块结构如下:-build.gradle-settings.gradle-MAIN_MODULE_1-build.gradle-MODULE1-build.gradle-MODULE2-build.gradle-MODULE3-build.gradle-MODULE4-build.gradle依赖模型应该是:-MODULE1也就是说,有//build.gradlesubprojects{applyplugin:'java'dependencies{compileproject('MAIN_MODULE_1')}}//settings.

java - 使用 Java 7 编译我的项目,但使用 Java 8 在 Gradle 中运行我的测试

目前我正在将我的war部署到支持java7的weblogic服务器,但我想在我的服务器中利用Java8selenium和Junit测试。我如何在我的Gradle构建中指定使用1.7来编译和构建我的WAR,同时使用1.8运行我的测试? 最佳答案 将源代码和测试分成2个模块。然后,指定每个模块的源代码和目标级别:allprojects{sourceCompatibility=1.7targetCompatibility=1.7}使用JDK1.8构建将为1.7生成一个jar/war。只需为您的测试项目覆盖它并将其设置为1.8。检查这个:c