Gradle 4.0.1 发布,Groovy 构建工具

淡漠悠然
 淡漠悠然
发布于 2017年07月24日
收藏 3

Gradle 4.0.1 发布了。Gradle 就是可以使用 Groovy 来书写构建脚本的构建系统,支持依赖管理和多项目,类似 Maven,但比之简单轻便。

更新内容:

  • Remote build cache honors --offline

  • Detecting overlapping task outputs

  • Stricter validation of task properties

  • Cache-safe mixed JVM language compilation

  • Automatic clean-up of local build cache

  • Improved tracking of additional task actions

  • Public type for representing lazily evaluated properties

  • Configurable input normalization: Ignore runtime classpath resources for up-to-date checks and the build cache

  • Convenience method for adding Google repository

  • User experience improvements

  • ......

详情介绍

下载地址:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Gradle 4.0.1 发布,Groovy 构建工具
加载中

最新评论(37

orpherus
orpherus

引用来自“布尔值”的评论

gradle安装包有60M,这么大体积什么事都可以做了.反看maven安装包只有8M.另外 gradle还依赖 maven.总觉得 gradle 太臃肿了.
还有maven开创了java的构建流程,千万别误导初学者跳过 maven 直接搞gradle
从纯脚本->ant->maven->gardle 一路走过来,现在是 gradle 的拥护者

引用来自“Feng_Yu”的评论

gradle依赖项不少,但确实没有maven(ant确实有)。你可以在gradle的lib/目录下找到gradle全部的依赖。maven是通过插件支持的,不是gradle自带支持

引用来自“布尔值”的评论

所以嘛,装了gradle还得装maven.要是集成进来多好.
装了gradle为何还要装maven?我没装maven也用的好好的
布尔值
布尔值

引用来自“布尔值”的评论

gradle安装包有60M,这么大体积什么事都可以做了.反看maven安装包只有8M.另外 gradle还依赖 maven.总觉得 gradle 太臃肿了.
还有maven开创了java的构建流程,千万别误导初学者跳过 maven 直接搞gradle
从纯脚本->ant->maven->gardle 一路走过来,现在是 gradle 的拥护者

引用来自“Feng_Yu”的评论

gradle依赖项不少,但确实没有maven(ant确实有)。你可以在gradle的lib/目录下找到gradle全部的依赖。maven是通过插件支持的,不是gradle自带支持
所以嘛,装了gradle还得装maven.要是集成进来多好.
Feng_Yu
Feng_Yu

引用来自“布尔值”的评论

gradle安装包有60M,这么大体积什么事都可以做了.反看maven安装包只有8M.另外 gradle还依赖 maven.总觉得 gradle 太臃肿了.
还有maven开创了java的构建流程,千万别误导初学者跳过 maven 直接搞gradle
从纯脚本->ant->maven->gardle 一路走过来,现在是 gradle 的拥护者
gradle依赖项不少,但确实没有maven(ant确实有)。你可以在gradle的lib/目录下找到gradle全部的依赖。maven是通过插件支持的,不是gradle自带支持
湖水没了
湖水没了
@东方星痕 @orpherus @Feng_Yu 不好意思,是我见识浅了,刚才又配置了下 deployment assembly的问题也弄好了
以后还是多研究官方文档
湖水没了
湖水没了

引用来自“kerneler”的评论

compile (
"org.springframework:spring-context-support:${springVersion}",
"org.springframework:spring-orm:${springVersion}",
"org.springframework:spring-webmvc:${springVersion}"
)
providedCompile("org.springframework.boot:spring-boot-starter-web:1.5.4.RELEASE") {
exclude group:"org.springframework.boot", module: 'spring-boot-starter-logging'
}
只是ide中用springboot跑一下,但是打包不想要springboot,这样打的包里 连springmvc等相关的包都没有了,去掉providedCompile就有

引用来自“orpherus”的评论

问题很明确了,你忽视了providedCompile和compileOnly的区别

引用来自“kerneler”的评论

那如何能编译时带springboot,打包时不带springboot呢

引用来自“orpherus”的评论

答案不是告诉你了吗,用compileOnly
用providedCompile的时候所有spring的包都被排除掉了
湖水没了
湖水没了

引用来自“kerneler”的评论

compile (
"org.springframework:spring-context-support:${springVersion}",
"org.springframework:spring-orm:${springVersion}",
"org.springframework:spring-webmvc:${springVersion}"
)
providedCompile("org.springframework.boot:spring-boot-starter-web:1.5.4.RELEASE") {
exclude group:"org.springframework.boot", module: 'spring-boot-starter-logging'
}
只是ide中用springboot跑一下,但是打包不想要springboot,这样打的包里 连springmvc等相关的包都没有了,去掉providedCompile就有

引用来自“orpherus”的评论

问题很明确了,你忽视了providedCompile和compileOnly的区别

引用来自“kerneler”的评论

那如何能编译时带springboot,打包时不带springboot呢

引用来自“orpherus”的评论

答案不是告诉你了吗,用compileOnly
谢谢,compileOnly可以
orpherus
orpherus

引用来自“kerneler”的评论

compile (
"org.springframework:spring-context-support:${springVersion}",
"org.springframework:spring-orm:${springVersion}",
"org.springframework:spring-webmvc:${springVersion}"
)
providedCompile("org.springframework.boot:spring-boot-starter-web:1.5.4.RELEASE") {
exclude group:"org.springframework.boot", module: 'spring-boot-starter-logging'
}
只是ide中用springboot跑一下,但是打包不想要springboot,这样打的包里 连springmvc等相关的包都没有了,去掉providedCompile就有

引用来自“orpherus”的评论

问题很明确了,你忽视了providedCompile和compileOnly的区别

引用来自“kerneler”的评论

那如何能编译时带springboot,打包时不带springboot呢
答案不是告诉你了吗,用compileOnly
湖水没了
湖水没了

引用来自“kerneler”的评论

compile (
"org.springframework:spring-context-support:${springVersion}",
"org.springframework:spring-orm:${springVersion}",
"org.springframework:spring-webmvc:${springVersion}"
)
providedCompile("org.springframework.boot:spring-boot-starter-web:1.5.4.RELEASE") {
exclude group:"org.springframework.boot", module: 'spring-boot-starter-logging'
}
只是ide中用springboot跑一下,但是打包不想要springboot,这样打的包里 连springmvc等相关的包都没有了,去掉providedCompile就有

引用来自“orpherus”的评论

问题很明确了,你忽视了providedCompile和compileOnly的区别
那如何能编译时带springboot,打包时不带springboot呢
orpherus
orpherus

引用来自“布尔值”的评论

gradle安装包有60M,这么大体积什么事都可以做了.反看maven安装包只有8M.另外 gradle还依赖 maven.总觉得 gradle 太臃肿了.
还有maven开创了java的构建流程,千万别误导初学者跳过 maven 直接搞gradle
从纯脚本->ant->maven->gardle 一路走过来,现在是 gradle 的拥护者
gradle并不依赖maven
Feng_Yu
Feng_Yu

引用来自“东方星痕”的评论

楼上的应该是敲错构建命令了, 应该是Gradle build 不是gradle jar

引用来自“kerneler”的评论

install 或者 package 都是
springboot是providedCompile,springmvc是 compile,打的war包中没有springmvc的包
我只是想用springboot跑一下程序,不打算打boot的包就这样

引用来自“东方星痕”的评论

不是install 也不是package
命令就是gradle build , idea的话双击右边的Tasks/build/build , war在项目下的build/libs/ 下面,
直接运行的话, gradle bootRun 或者 右键直接 运行

引用来自“kerneler”的评论

那你打包怎么打?我打包不需要springboot

引用来自“东方星痕”的评论

用了springboot方式构建项目不可能不要springboot相关包, 毕竟连整个spring或其它相关库(mybatis, redis)之类的配置方式都 不一样了.
你的意思是打成war, 并不需要自带的web 容器吗? 如果这样的话 添加一句 apply plugin: 'war'
其实不改配置直接jar改成war直接扔tomcat也行的, springboot会自动识别

引用来自“kerneler”的评论

我想既可以打springboot的包,也可以打普通的包,工程里面有些类引入了springboot所以编译的时候还是需要springboot
maven是这样配置的 , 只要删掉“delete this line for spring boot”这一行就可以打springboot的包,保留就是普通的war包
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <scope>provided</scope> <!-- delete this line for spring boot -->
  <exclusions>
    <exclusion>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-logging</artifactId>
    </exclusion>
  </exclusions>
</dependency>

引用来自“东方星痕”的评论

没懂你具体要干嘛, 我上面说的4种运行方式, 没有你想要的?

引用来自“kerneler”的评论

一直可以运行的,编译也没问题,只是打包的时候依赖的jar有问题
你也没说是什么依赖问题?provided代表你需要的这个依赖由servlet容器提供,如果不提供你只能用compile级别依赖自己加入。我觉得还是你的使用有问题,缺少依赖肯定是你没把相关的依赖补进去,而不是人家设计的问题。
返回顶部
顶部