Tag: gradle

如何为Gradle Java插件设置compileOptions?

我想在我的gradle构建上设置-parameters命令,以便我可以使用reflection来访问参数的名称。 似乎我应该通过以下闭包执行此操作。 compileJava { compileOptions { compilerArgs << '-parameters' } } 但是compileOptions被列为只读,当我查看源代码时,没有setter。 https://gradle.org/docs/current/dsl/org.gradle.api.tasks.compile.JavaCompile.html#org.gradle.api.tasks.compile.JavaCompile:options 我怎么能告诉javac编译器在Gradle中使用什么args? Groovy: 2.3.6 Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013 JVM: 1.8.0_40 (Oracle Corporation 25.40-b25) OS: Windows 7 6.1 amd64

在Heroku上运行使用gradle构建的Spring应用程序

我使用Gradle构建的Spring应用程序有问题。 应用程序包括MongoDB(来自Heroku的MongoHQ)。 我管理了如何在heroku上推送所有内容,我已将此代码添加到我的项目中: @Configuration public class MongoHQConfiguration { public @Bean MongoDbFactory mongoDbFactory() throws MongoException, UnknownHostException { return new SimpleMongoDbFactory(new MongoURI(System.getenv(“MONGOHQ_URL”))); } public @Bean MongoTemplate mongoTemplate() throws Exception { return new MongoTemplate(mongoDbFactory()); } } 在使用gradle将buildpack更改为one之后,我使用MongoHQ Sandbox在Heroku免费帐户上推送了所有内容。 但在尝试通过网络浏览器运行我的应用程序后,我收到此错误: 应用程序中发生错误,无法提供您的页面。 请稍后重试。 如果您是应用程序所有者,请检查日志以获取详细信息。 heroku logs给我这个输出: 2014-10-15T18:19:30.293964 + 00:00 heroku [web.1]:使用命令java -Xmx384m -Xss512k -XX:+UseCompressedOops -jar build/libs/*.jar启动进程java -Xmx384m -Xss512k -XX:+UseCompressedOops -jar […]

Gradle将依赖项下载到缓存而不是maven存储库

我正在尝试在maven和gradle的文件系统上维护相同的存储库。 但是我遇到了一些问题。 我在build.gradle文件中有以下内容。 repositories { mavenLocal() mavenCentral() } dependencies { compile group: ‘org.codehaus.groovy’, name: ‘groovy-all’, version: ‘2.3.9’ runtime group: ‘org.codehaus.groovy’, name: ‘groovy-all’, version: ‘2.3.9’ runtime ‘org.xerial:sqlite-jdbc:3.8.7’ } GRADLE_HOME是D:\Programming\Java\gradle-2.2.1 GRADLE_USER_HOME是D:\Programming\Java\.m2 我的gradle home与我的Maven存储库相同。 但是当通过gradle下载依赖项时,它们将被下载到GRADLE_USER_HOME\cache而不是repository文件夹中。 我错过了什么配置? 编辑我已经检查了Gradle In Action一书的依赖管理章节。 没有。 我已经检查了gradle网站上的依赖关系管理 ,但它也只是说使用了缓存。 似乎gradle中没有这样的选项。 有人可以证实吗?

Gradle项目在IntelliJ中运行jUnit 5测试

我正在尝试Gradle和jUnit5。 除了我不能运行特定的jUnit测试之外,一切正常。 当我右键单击测试类时,不会出现“运行’SampleTest’”选项。 我有最新版本的IntelliJ(2016.1.3)Ultimate。 这是我的build.gradle文件: repositories { mavenCentral() } apply plugin: ‘java’ version = ‘1.0.0-SNAPSHOT’ jar { baseName = ‘test-project’ } dependencies { testCompile group: ‘org.junit.jupiter’, name: ‘junit-jupiter-api’, version: ‘5.0.0-M1’ } 项目结构是标准结构(如Maven)。 这是一个测试的例子: package com.test; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class SampleTest { @Test public void sampleTest() { int test = 1; Assertions.assertTrue(test == 1); […]

运行jacocoReport

我正在使用gradle 1.7和jacoco插件。 我的项目使用java和scala插件 当我运行gradlew -i clean jacocoTestReport时 报告未创建,我在日志中看到 :bl:jacocoTestReport (Thread[Daemon Thread 13,5,main] – start :bl:jacocoTestReport Skipping task ‘:bl:jacocoTestReport’ as task onlyIf is false. :bl:jacocoTestReport SKIPPED :bl:jacocoTestReport (Thread[Daemon Thread 13,5,main]) – complete 这是什么意思? 为什么不创建报告?

Gradle Build失败并出现exception:java.exe’以非零退出值2结束

build.gradle文件: android { compileSdkVersion 22 buildToolsVersion “22.0.1” defaultConfig { applicationId “xxxxx.com.myapp” minSdkVersion 9 targetSdkVersion 22 versionCode 3 versionName “1.2” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:appcompat-v7:22.1.1’ compile ‘com.google.android.gms:play-services-ads:7.3.0’ compile files(‘libs/libGoogleAnalyticsServices.jar’) } 错误日志: FAILURE:构建因exception而失败。 出了什么问题:任务’:app:dexDebug’执行失败。 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程’命令’C:\ Program Files \ Java \ […]

Eclipse插件开发 – Gradle无法从Eclipse启动器运行:java.io.IOException:拒绝访问

我正在开发Eclipse插件,以便从Eclipse 运行Gradle作为一个应用程序(使用Eclipse LaunchConfiguration)。 但即使在为这个新进程设置JAVA_HOME和GRADLE_HOME之后,它GRADLE_HOME以错误结束。 下面是我通过传递额外的–debug –stacktrace 那么什么文件Access被拒绝以及如何发现? 21:50:18.828 [ERROR] [org.gradle.BuildExceptionReporter] 21:50:18.828 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception. 21:50:18.844 [ERROR] [org.gradle.BuildExceptionReporter] 21:50:18.844 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong: 21:50:18.844 [ERROR] [org.gradle.BuildExceptionReporter] java.lang.ExceptionInInitializerError (no error message) 21:50:18.844 [ERROR] [org.gradle.BuildExceptionReporter] 21:50:18.844 [ERROR] [org.gradle.BuildExceptionReporter] * Exception is: 21:50:18.844 [ERROR] [org.gradle.BuildExceptionReporter] java.lang.ExceptionInInitializerError 21:50:18.844 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.internal.nativeplatform.filesystem.FileSystems.getDefault(FileSystems.java:22) 21:50:18.844 […]

ProcessException:org.gradle.process.internal.ExecException以非零退出值2 结束

今天我在尝试构建我的项目后遇到了这个构建错误 ,但我什么都没改变,它只是突然冒出来……或者我根本不记得我改变了什么。 我做了一件事,更新了构建工具,但我根本不使用最新的,所以它应该打扰项目。 错误: Error:Execution failed for task ‘:DoToDoCourierApp:transformClassesWithDexForDebug’. > com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘C:\Program Files\Java\jdk1.8.0_45\bin\java.exe” finished with non-zero exit value 2 完整日志: Information:Gradle tasks [:DoToDoCourierApp:generateDebugSources, :DoToDoCourierApp:generateDebugAndroidTestSources, :DoToDoCourierApp:assembleDebug] :DoToDoCourierApp:preBuild UP-TO-DATE :DoToDoCourierApp:preDebugBuild UP-TO-DATE :DoToDoCourierApp:checkDebugManifest :DoToDoCourierApp:preReleaseBuild UP-TO-DATE :DoToDoEssentials:preBuild UP-TO-DATE :DoToDoEssentials:preReleaseBuild UP-TO-DATE :DoToDoEssentials:compileReleaseNdk UP-TO-DATE :DoToDoEssentials:compileLint :DoToDoEssentials:copyReleaseLint UP-TO-DATE :DoToDoEssentials:checkReleaseManifest :DoToDoEssentials:preDebugAndroidTestBuild UP-TO-DATE :DoToDoEssentials:preDebugBuild UP-TO-DATE :DoToDoEssentials:preDebugUnitTestBuild UP-TO-DATE :DoToDoEssentials:preReleaseUnitTestBuild UP-TO-DATE :DoToDoEssentials:prepareComAndroidSupportAppcompatV72310Library […]

Android 64k方法限制56k方法的错误

我在我的android项目中收到此错误: Unable to execute dex: method ID not in [0, 0xffff]: 65536 Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536 从我的所有研究来看,这是由于我的android项目中有太多方法 – 限制是64k。 但是,我已经运行脚本来计算当前项目中有多少,并且它提出了56k方法。 这是我正在运行的脚本。 我项目的唯一补充是我已经将Parse从1.4更新到1.7。 在更新解析后构建和编译项目,但是当我尝试添加任何新代码时,会出现此错误。 我第一次遇到这个错误时,我正在使用Android Studio 0.8.9。 我已经恢复到Android Studio 0.8.6并且它仍在发生。

使用`Runtime.getRuntime()。exec`从Java启动的进程无法访问文件系统位置

进程使用Runtime.getRuntime().exec从Java启动Runtime.getRuntime().exec具有较少的权限,我在JavaDocs中没有看到相关描述以及如何管理它。 如何确保启动的进程具有相同的环境和权限? 更多细节: 为maven和gradle编写轻量级Eclipse插件。 (这个问题经过测试不会与Eclipse有关,最后会看到。) 我从Eclipse插件中启动mvn和gradle : 对于gradle gralde build无法创建临时文件: Eclipse插件开发 – Gradle无法从Eclipse启动器运行:java.io.IOException:拒绝访问 对于maven D:\Progs\springsource\apache-maven-3.0.4\bin\mvn.bat -X compile exec:java -Dexec.mainClass=runclass.Runme Apache Maven 3.0.4 (r1232337; 2012-01-17 16:44:56+0800) Maven home: D:\Progs\springsource\apache-maven-3.0.4 Java version: 1.7.0_11, vendor: Oracle Corporation Java home: C:\Program Files\Java\jdk1.7.0_11\jre Default locale: zh_CN, platform encoding: GBK OS name: “windows 7”, version: “6.1”, arch: “amd64”, family: “windows” [INFO] […]