Gradle执行某些任务时冻结3分钟。

我有2个相对简单的Gradle 6.1.1配置,一个是使用了 https:/plugins.gradle.orgplugincom.github.node-gradle.node。 来构建一个react应用,而另一个则是基于 https:/plugins.gradle.orgplugincom.bmuschko.tomcat。 并在嵌入式Tomcat中运行一个简单的Wicket应用。

npm任务的第1个配置是。

apply plugin: 'com.github.node-gradle.node'
node {
    version = '12.16.0'
    download = true
    workDir = file "$project.buildDir/nodejs"
}

task "npmBuild"( type:NpmTask ) {
    args = [ 'run', 'build' ]
}

在Windows 10中产生了如下输出

>gradlew.bat npmBuild
Starting a Gradle Daemon (subsequent builds will be faster)

> Task :npmBuild

> layer-selection@0.1.0 build .....
> react-scripts build

Creating an optimized production build...
Compiled with warnings.

...
Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.

File sizes after gzip:

  90.99 KB  build\static\js\2.17f9cda1.chunk.js
  28.68 KB  build\static\css\2.2f7f14af.chunk.css
  3.43 KB   build\static\js\main.1150707e.chunk.js
  778 B     build\static\js\runtime-main.989054bd.js
  177 B     build\static\css\main.f7c0afb8.chunk.css
...
Find out more about deployment here:

  bit.ly/CRA-deploy

此时任务持续了大约20秒,然后在CPU负载低于1%的情况下挂起3分钟,然后继续。

BUILD SUCCESSFUL in 3m 18s
2 actionable tasks: 1 executed, 1 up-to-date

奇怪的是,在另一台Win10机器上的类似项目上运行同样的配置,结果是干净的运行和冻结。

同时任务。

task "npm-install"( type:NpmTask ) {
    args = [ 'install' ]
}
task "npm-set-proxy"( type:NpmTask ) {
    args = [ 'config', 'set', 'https-proxy', 'http://www.www.www:80/' ]
}

显示出同样的3分钟以上的行为。

第2个配置看起来像。

apply plugin: 'com.bmuschko.tomcat'

ext.tomcatVersion = '9.0.30'

dependencies {
    // some deps    

    tomcat "org.apache.tomcat.embed:tomcat-embed-core:$tomcatVersion",
            "org.apache.tomcat.embed:tomcat-embed-logging-juli:9.0.0.M6",
            "org.apache.tomcat.embed:tomcat-embed-jasper:$tomcatVersion",
            "org.apache.tomcat:tomcat-jdbc:$tomcatVersion",
            "org.apache.tomcat:tomcat-dbcp:$tomcatVersion"
            'org.postgresql:postgresql:42.2.12'
            'log4j:log4j:1.2.17'
}

tomcat {
    httpProtocol = 'org.apache.coyote.http11.Http11Nio2Protocol'
    ajpProtocol  = 'org.apache.coyote.ajp.AjpNio2Protocol'
    httpPort = 8088
}

并在Win10中产生输出。

>gradlew.bat tomcatRun
> Configure project :
> Task :compileJava
> Task :processResources UP-TO-DATE
> Task :classes
> Task :tomcatRun

这时在CPU负载低于18%的情况下,它又挂了3分钟左右,然后继续。

LOG .......
LOG  2020-04-24 12:45:10,971 [Execution worker for ':'] INFO :   - ActiveMq URL tcp://localhost:61620
Started Tomcat Server
The Server is running at http://localhost:8088/racy10
<=========----> 75% EXECUTING [4m 2s]

所以,毫无理由地(从我的角度看),gradle执行在某些任务之后或之前会挂起3分钟。

欢迎提供任何提示和想法。

TIA

解决方案:

检查 %userprofile%\.gradle 目录,这是一个常见的罪魁祸首。在Windows 10上,这可能会受到Windows Defender的影响,但这应该只会慢一点。建议直接从命令行运行时测试它的表现,因为这将有助于缩小根本原因。相反,使用 Exec 任务也可能是一个选项,它将提供对 CLI 的完全控制;对于 例子.

给TA打赏
共{{data.count}}人
人已打赏
未分类

比较并返回布尔值,如果两个对象数组的值相同或不相同。

2022-9-23 11:00:21

未分类

有没有办法在查询中修改.where()查询的数据库端?

2022-9-23 11:11:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索