我正在研究Gradle并且对它非常感兴趣,特别是因为(它出现)它允许在构建过程中引入继承。例如,如果我有一个可以打包并部署到GoogleAppEngine实例以及AmazonEC2实例的JavaWeb应用程序,我需要一个复杂的构建,它可以采用相同的Java、XML、PROPERTIES、CSS和图像文件和包/将它们部署到2个彻底-不同打包的WAR文件中。GAE应用程序在打包方式方面非常具体;EC2(几乎)只要求您符合servlet规范。通过从SDK附带的appcfg.sh脚本运行update命令来“部署”GAE应用程序;EC2有自己的方式来部署应用程序。关键是,对于两个PaaS提供商来
我已经在groovy中实现了一个自定义任务。如果我为其在groovy(X.groovy)中实现的实用程序类提供一个实用程序类并将其放置在buildsrc中,任务就可以完成。如果我在Java(Y.java)中实现等效类并将其放在同一目录中,任务将失败并显示以下错误消息::buildsrc:compileGroovystartupfailed:Generalerrorduringconversion:Couldnotloadclass'com.myinc.gradle.api.data.Y'fromfile:/project/buildsrc/build/classes/main/com/
我正在运行来自http://spring.io的教程关于RESTful网络服务。我希望能够从Eclipse启动我的Web项目作为Gradle构建(RunAs=>GradleBuild...),然后在我完成测试后停止它。我知道如何启动它,但如果不退出Eclipse(SpringToolSuite),我就无法让它停止。有什么建议吗? 最佳答案 借自GradleTomcatplugin文档,只需这样做:ext{tomcatStopPort=8081tomcatStopKey='stopKey'}taskdoTomcatRun(type:o
这很令人费解。我有一个使用Gradle构建的多模块多语言JVM项目。我有几个java模块和几个scala模块。scala模块使用ScalaTest作为测试框架。我将Gradle设置为使用scalatestplugin运行测试。我让整个事情在IntelliJ中运行了大约一个月(使用Gradleidea插件)。现在突然之间,ScalaTest规范不再从IDE运行,并出现以下错误:UnabletoloadaSuiteclass.Thiscouldbeduetoanerrorinyourrunpath.Missingclass:com.mypackage.MySpec有人知道这是怎么回事吗?我
我想在animalSniffer插件第一个任务依赖于所有sourceSets中所有生产类(Java、Groovy、Scala)的编译,第二个任务依赖于所有sourceSets中所有测试类的编译(可能分开test和集成测试).我不想依赖于*classes任务,因为*classes任务应该依赖于animalSniffer任务(检测Java版本API不兼容编译后可以停止构建)。在Gradle中有没有比检查AbstractCompile任务名称的实例是否以“compileTest”开头更好的方法来实现这一点? 最佳答案 您可以使用tasks
我正在尝试使用Proguard混淆我的Java项目的代码。该项目已在Intellij上创建,并使用Gradle2.2.1配置。我工作的电脑上有代理,所以Intellij无法上网。我花了几个小时来寻找一个简单的例子来混淆我的代码。我试过:taskproguardTask(type:proguard.gradle.ProGuardTask){println"ha"}taskproguardTask(type:proguard.gradle.ProGuardTask)我每次都遇到异常:FAILURE:Buildfailedwithanexception.*Whatwentwrong:Exec
根据homepagegradletomcat插件常见问题解答部分:HowdoIremotedebugmyTomcatstartedupbytheplugin?我需要添加以下环境属性:GRADLE_OPTS=-XdebugXrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005在容器运行期间,我应该看到它在特定端口上监听的信息:Listeningfortransportdt_socketataddress:5005,但在我的例子中它不起作用。如何正确配置它?我正在运行intellijidea14.1Ultimate。
当使用gradlebuild命令从命令行构建时,属性字段被正确替换,但是,当使用IntelliJIDEAIDE时,它不是。代码在build.gradleext{port=8086}processResources{filesMatching('application.properties'){expand(project.properties)}}代码在application.propertiesserver.port=${port} 最佳答案 当您通过单击“运行”按钮在IntelliJ中运行SpringBoot应用程序时,它会以常
我正在尝试建立一个GradleJava项目,但出于某种原因,我似乎无法在构建中注册资源文件夹。每当我尝试写入文件时,它都会写入项目根目录而不是资源文件夹。我的项目目录如下:来源主要Java资源这是我的build.gradle文件applyplugin:'java'applyplugin:'application'repositories{mavenCentral()}mainClassName='Test'sourceSets{main{java{srcDirs=["src/main/java"]}resources{srcDirs=["src/main/resources"]}}}这
我有一个注解处理器,它在构建时由Java编译器自动获取(使用SPI)。在gradle构建期间,此注释处理器生成的java源代码被放入build/classes中,因为Gradle告诉注释处理器这是输出生成的源文件的地方。当运行标准javadoc任务时,它会尝试为构建/类中的所有文件创建javadoc,包括*.java。这会失败,因为javadoc只需要*.class文件,导致整个构建失败。所以我的问题是:这是Gradle错误/功能吗?我该如何修复它/让它发挥作用? 最佳答案 问题似乎是没有提取生成的源文件,导致javadoc失败,因