首页 > 其他分享 >加速 gradle 打包速度 !!

加速 gradle 打包速度 !!

时间:2022-11-16 19:07:18浏览次数:62  
标签:task Thread app lkdemo gradle Task interface 加速 打包

如果执行 gradle clean build --info,  输出是: 

Looking for a different daemon...
Found daemon DaemonInfo{pid=19048, address=[5dc61bb0-e70a-41ff-855e-61754ab113ee port:50734, addresses:[/127.0.0.1, /0:0:0:0:0:0:0:1]], state=Idle, lastBusy=1660637008687, context=DefaultDaemonContext[uid=bdd601a4-019a-4843-a0b7-436
e3c1a90d3,javaHome=C:\Program Files\Java\jdk-14.0.1,daemonRegistryDir=C:\Users\xd\.gradle\daemon,pid=19048,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=127.0.0.1:50728,--add-opens,java.base/java.util=ALL-UNNAMED,-Xmx1024m,-Dfile.encoding=UTF-8,-Duser.country=CN,-Duser.language=zh,-Duser.variant]} however its context does not match the desired criteria.
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Java\jdk1.8.0_202,daemonRegistryDir=C:\Users\xd\.gradle\daemon,pid=16004,idleTimeout=null,daemonOpts=-XX:MaxPermSize=512m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=UTF-8,-Duser.country=CN,-Duser.language=zh,-Duser.variant]
Actual: DefaultDaemonContext[uid=bdd601a4-019a-4843-a0b7-436e3c1a90d3,javaHome=C:\Program Files\Java\jdk-14.0.1,daemonRegistryDir=C:\Users\xd\.gradle\daemon,pid=19048,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=127.0.0.1:50728,--add-opens,java.base/java.util=ALL-UNNAMED,-Xmx1024m,-Dfile.encoding=UTF-8,-Duser.country=CN,-Duser.language=zh,-Duser.variant]

Looking for a different daemon...
The client will now receive all logging from the daemon (pid: 8876). The daemon log file: C:\Users\xd\.gradle\daemon\4.10.2\daemon-8876.out.log
Starting 55th build in daemon [uptime: 3 hrs 1 mins 51.489 secs, performance: 98%, no major garbage collections]
Using 8 worker leases.
Starting Build
Settings evaluated using settings file 'D:\d\luo\wallet-api\settings.gradle'.
Projects loaded. Root project using build file 'D:\d\luo\wallet-api\build.gradle'.
Included projects: [root project 'lkdemo-pay', project ':lkdemo-app', project ':lkdemo-interface']
Parallel execution with configuration on demand is an incubating feature.

> Configure project :
Evaluating root project 'lkdemo-pay' using build file 'D:\d\luo\wallet-api\build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'lkdemo-app'
Applying dependency management to configuration 'apiElements' in project 'lkdemo-app'
Applying dependency management to configuration 'archives' in project 'lkdemo-app'
Applying dependency management to configuration 'bootArchives' in project 'lkdemo-app'
Applying dependency management to configuration 'compile' in project 'lkdemo-app'
Applying dependency management to configuration 'compileClasspath' in project 'lkdemo-app'
Applying dependency management to configuration 'compileOnly' in project 'lkdemo-app'
Applying dependency management to configuration 'default' in project 'lkdemo-app'
Applying dependency management to configuration 'implementation' in project 'lkdemo-app'
Applying dependency management to configuration 'runtime' in project 'lkdemo-app'
Applying dependency management to configuration 'runtimeClasspath' in project 'lkdemo-app'
Applying dependency management to configuration 'runtimeElements' in project 'lkdemo-app'
Applying dependency management to configuration 'runtimeOnly' in project 'lkdemo-app'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'lkdemo-app'
Applying dependency management to configuration 'testCompile' in project 'lkdemo-app'
Applying dependency management to configuration 'testCompileClasspath' in project 'lkdemo-app'
Applying dependency management to configuration 'testCompileOnly' in project 'lkdemo-app'
Applying dependency management to configuration 'testImplementation' in project 'lkdemo-app'
Applying dependency management to configuration 'testRuntime' in project 'lkdemo-app'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'lkdemo-app'
Applying dependency management to configuration 'testRuntimeOnly' in project 'lkdemo-app'
Applying dependency management to configuration 'annotationProcessor' in project 'lkdemo-interface'
Applying dependency management to configuration 'apiElements' in project 'lkdemo-interface'
Applying dependency management to configuration 'archives' in project 'lkdemo-interface'
Applying dependency management to configuration 'bootArchives' in project 'lkdemo-interface'
Applying dependency management to configuration 'compile' in project 'lkdemo-interface'
Applying dependency management to configuration 'compileClasspath' in project 'lkdemo-interface'
Applying dependency management to configuration 'compileOnly' in project 'lkdemo-interface'
Applying dependency management to configuration 'default' in project 'lkdemo-interface'
Applying dependency management to configuration 'implementation' in project 'lkdemo-interface'
Applying dependency management to configuration 'runtime' in project 'lkdemo-interface'
Applying dependency management to configuration 'runtimeClasspath' in project 'lkdemo-interface'
Applying dependency management to configuration 'runtimeElements' in project 'lkdemo-interface'
Applying dependency management to configuration 'runtimeOnly' in project 'lkdemo-interface'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'lkdemo-interface'
Applying dependency management to configuration 'testCompile' in project 'lkdemo-interface'
Applying dependency management to configuration 'testCompileClasspath' in project 'lkdemo-interface'
Applying dependency management to configuration 'testCompileOnly' in project 'lkdemo-interface'
Applying dependency management to configuration 'testImplementation' in project 'lkdemo-interface'
Applying dependency management to configuration 'testRuntime' in project 'lkdemo-interface'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'lkdemo-interface'
Applying dependency management to configuration 'testRuntimeOnly' in project 'lkdemo-interface'

> Configure project :lkdemo-app
Evaluating project ':lkdemo-app' using build file 'D:\d\luo\wallet-api\lkdemo-app\build.gradle'.
Selected primary task 'clean' from project :lkdemo-app
Selected primary task 'build' from project :lkdemo-app

> Configure project :lkdemo-interface
Evaluating project ':lkdemo-interface' using build file 'D:\d\luo\wallet-api\lkdemo-interface\build.gradle'.
All projects evaluated.
Tasks to be executed: [task ':lkdemo-app:clean', task ':lkdemo-interface:compileJava', task ':lkdemo-interface:processResources', task ':lkdemo-interface:classes', task ':lkdemo-interface:jar', task ':lkdemo-app:compileJava', task ':lkdemo-app:processResources', task ':lkdemo-app:classes', task ':lkdemo-app:bootJar', task ':lkdemo-app:bootStartScripts', task ':lkdemo-app:bootDistTar', task ':lkdemo-ap
p:bootDistZip', task ':lkdemo-app:jar', task ':lkdemo-app:startScripts', task ':lkdemo-app:distTar', task ':lkdemo-app:distZip', task ':lkdemo-app:sourcesJar', task ':lkdemo-app:assemble', task ':lkdemo-app:compileTestJava', task ':lkdemo-app:processTestResources', task ':lkdemo-app:testClasses', task ':lkdemo-app:test', task ':lkdemo-app:check', task ':lkdemo-app:build']
:lkdemo-app:clean (Thread[Task worker for ':',5,main]) started.
:lkdemo-interface:compileJava (Thread[Task worker for ':' Thread 7,5,main]) started.

> Task :lkdemo-app:clean
Task ':lkdemo-app:clean' is not up-to-date because:
Task has not declared any outputs despite executing actions.
:lkdemo-app:clean (Thread[Task worker for ':',5,main]) completed. Took 0.007 secs.
:lkdemo-app:processResources (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:processResources
Task ':lkdemo-app:processResources' is not up-to-date because:
Output property 'destinationDir' file D:\d\luo\wallet-api\lkdemo-app\build\resources\main has been removed.
Output property 'destinationDir' file D:\d\luo\wallet-api\lkdemo-app\build\resources\main\config has been removed.
Output property 'destinationDir' file D:\d\luo\wallet-api\lkdemo-app\build\resources\main\config\application-ci.yml has been removed.
:lkdemo-app:processResources (Thread[Task worker for ':',5,main]) completed. Took 0.063 secs.
:lkdemo-app:bootStartScripts (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:bootStartScripts
Task ':lkdemo-app:bootStartScripts' is not up-to-date because:
Output property 'outputDir' file D:\d\luo\wallet-api\lkdemo-app\build\bootScripts has been removed.
Output property 'outputDir' file D:\d\luo\wallet-api\lkdemo-app\build\bootScripts\lkdemo-app has been removed.
Output property 'outputDir' file D:\d\luo\wallet-api\lkdemo-app\build\bootScripts\lkdemo-app.bat has been removed.
:lkdemo-app:bootStartScripts (Thread[Task worker for ':',5,main]) completed. Took 0.038 secs.
:lkdemo-app:startScripts (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-interface:compileJava
Resolving global dependency management for project 'lkdemo-interface'
Excluding []
Excluding []
Skipping task ':lkdemo-interface:compileJava' as it is up-to-date.

> Task :lkdemo-interface:compileJava UP-TO-DATE
:lkdemo-interface:compileJava (Thread[Task worker for ':' Thread 7,5,main]) completed. Took 4.444 secs.
:lkdemo-interface:processResources (Thread[Task worker for ':' Thread 7,5,main]) started.

> Task :lkdemo-interface:processResources NO-SOURCE
file or directory 'D:\d\luo\wallet-api\lkdemo-interface\src\main\resources', not found
Skipping task ':lkdemo-interface:processResources' as it has no source files and no previous output files.
:lkdemo-interface:processResources (Thread[Task worker for ':' Thread 7,5,main]) completed. Took 0.0 secs.
:lkdemo-interface:classes (Thread[Task worker for ':' Thread 7,5,main]) started.

> Task :lkdemo-interface:classes UP-TO-DATE
Skipping task ':lkdemo-interface:classes' as it has no actions.
:lkdemo-interface:classes (Thread[Task worker for ':' Thread 7,5,main]) completed. Took 0.0 secs.
:lkdemo-interface:jar (Thread[Task worker for ':' Thread 7,5,main]) started.

> Task :lkdemo-interface:jar UP-TO-DATE
Skipping task ':lkdemo-interface:jar' as it is up-to-date.
:lkdemo-interface:jar (Thread[Task worker for ':' Thread 7,5,main]) completed. Took 0.01 secs.

> Task :lkdemo-app:startScripts
Resolving global dependency management for project 'lkdemo-app'
Excluding [org.apache.tomcat:tomcat-annotations-api, ognl:ognl]
Task ':lkdemo-app:startScripts' is not up-to-date because:
Output property 'outputDir' file D:\d\luo\wallet-api\lkdemo-app\build\scripts has been removed.
Output property 'outputDir' file D:\d\luo\wallet-api\lkdemo-app\build\scripts\lkdemo-app has been removed.
Output property 'outputDir' file D:\d\luo\wallet-api\lkdemo-app\build\scripts\lkdemo-app.bat has been removed.
:lkdemo-app:startScripts (Thread[Task worker for ':',5,main]) completed. Took 6.898 secs.
:lkdemo-app:compileJava (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:compileJava
Excluding []
Excluding []
Task ':lkdemo-app:compileJava' is not up-to-date because:
Output property 'destinationDir' file D:\d\luo\wallet-api\lkdemo-app\build\classes\java\main has been removed.
Output property 'destinationDir' file D:\d\luo\wallet-api\lkdemo-app\build\classes\java\main\com has been removed.
Output property 'destinationDir' file D:\d\luo\wallet-api\lkdemo-app\build\classes\java\main\com\luo has been removed.
All input files are considered out-of-date for incremental task ':lkdemo-app:compileJava'.
Full recompilation is required because no incremental change information is available. This is usually caused by clean builds or changing compiler arguments.
Compiling with JDK Java compiler API.
注: D:\d\luo\wallet-api\lkdemo-app\src\main\java\com\luo\kont\wallet\common\mq\ProofreadBillConsumer.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
Created classpath snapshot for incremental compilation in 0.04 secs. 1705 duplicate classes found in classpath (see all with --debug).
:lkdemo-app:compileJava (Thread[Task worker for ':',5,main]) completed. Took 9.908 secs.
:lkdemo-app:classes (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:classes
Skipping task ':lkdemo-app:classes' as it has no actions.
:lkdemo-app:classes (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:lkdemo-app:bootJar (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:bootJar
Task ':lkdemo-app:bootJar' is not up-to-date because:
Output property 'archivePath' file D:\d\luo\wallet-api\lkdemo-app\build\libs\lkdemo-app-1.0.0-SNAPSHOT.jar has been removed.
:lkdemo-app:bootJar (Thread[Task worker for ':',5,main]) completed. Took 3.374 secs.
:lkdemo-app:bootDistTar (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:bootDistTar
Task ':lkdemo-app:bootDistTar' is not up-to-date because:
Output property 'archivePath' file D:\d\luo\wallet-api\lkdemo-app\build\distributions\lkdemo-app-boot-1.0.0-SNAPSHOT.tar has been removed.
:lkdemo-app:bootDistTar (Thread[Task worker for ':',5,main]) completed. Took 0.693 secs.
:lkdemo-app:bootDistZip (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:bootDistZip
Task ':lkdemo-app:bootDistZip' is not up-to-date because:
Output property 'archivePath' file D:\d\luo\wallet-api\lkdemo-app\build\distributions\lkdemo-app-boot-1.0.0-SNAPSHOT.zip has been removed.
:lkdemo-app:bootDistZip (Thread[Task worker for ':',5,main]) completed. Took 7.009 secs.
:lkdemo-app:jar (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:jar SKIPPED
Skipping task ':lkdemo-app:jar' as task onlyIf is false.
:lkdemo-app:jar (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:lkdemo-app:distTar (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:distTar
Task ':lkdemo-app:distTar' is not up-to-date because:
Output property 'archivePath' file D:\d\luo\wallet-api\lkdemo-app\build\distributions\lkdemo-app-1.0.0-SNAPSHOT.tar has been removed.
:lkdemo-app:distTar (Thread[Task worker for ':',5,main]) completed. Took 2.836 secs.
:lkdemo-app:distZip (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:distZip
Task ':lkdemo-app:distZip' is not up-to-date because:
Output property 'archivePath' file D:\d\luo\wallet-api\lkdemo-app\build\distributions\lkdemo-app-1.0.0-SNAPSHOT.zip has been removed.
:lkdemo-app:distZip (Thread[Task worker for ':',5,main]) completed. Took 15.88 secs.
:lkdemo-app:sourcesJar (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:sourcesJar
Task ':lkdemo-app:sourcesJar' is not up-to-date because:
Output property 'archivePath' file D:\d\luo\wallet-api\lkdemo-app\build\libs\lkdemo-app-1.0.0-SNAPSHOT-sources.jar has been removed.
:lkdemo-app:sourcesJar (Thread[Task worker for ':',5,main]) completed. Took 0.184 secs.
:lkdemo-app:assemble (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:assemble
Skipping task ':lkdemo-app:assemble' as it has no actions.
:lkdemo-app:assemble (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:lkdemo-app:compileTestJava (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:compileTestJava
Excluding []
Excluding []
Task ':lkdemo-app:compileTestJava' is not up-to-date because:
Output property 'destinationDir' file D:\d\luo\wallet-api\lkdemo-app\build\classes\java\test has been removed.
Output property 'destinationDir' file D:\d\luo\wallet-api\lkdemo-app\build\classes\java\test\com has been removed.
Output property 'destinationDir' file D:\d\luo\wallet-api\lkdemo-app\build\classes\java\test\com\luo has been removed.
All input files are considered out-of-date for incremental task ':lkdemo-app:compileTestJava'.
Full recompilation is required because no incremental change information is available. This is usually caused by clean builds or changing compiler arguments.
Compiling with JDK Java compiler API.
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: D:\d\luo\wallet-api\lkdemo-app\src\test\java\com\luo\kont\wallet\JschUtil.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
Created classpath snapshot for incremental compilation in 0.053 secs. 1706 duplicate classes found in classpath (see all with --debug).
:lkdemo-app:compileTestJava (Thread[Task worker for ':',5,main]) completed. Took 12.696 secs.
:lkdemo-app:processTestResources (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:processTestResources
Task ':lkdemo-app:processTestResources' is not up-to-date because:
Output property 'destinationDir' file D:\d\luo\wallet-api\lkdemo-app\build\resources\test has been removed.
Output property 'destinationDir' file D:\d\luo\wallet-api\lkdemo-app\build\resources\test\conf.properties has been removed.
:lkdemo-app:processTestResources (Thread[Task worker for ':',5,main]) completed. Took 0.007 secs.
:lkdemo-app:testClasses (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:testClasses
Skipping task ':lkdemo-app:testClasses' as it has no actions.
:lkdemo-app:testClasses (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:lkdemo-app:test (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:test
Excluding []
Task ':lkdemo-app:test' is not up-to-date because:
Output property 'binResultsDir' file D:\d\luo\wallet-api\lkdemo-app\build\test-results\test\binary has been removed.
Output property 'binResultsDir' file D:\d\luo\wallet-api\lkdemo-app\build\test-results\test\binary\output.bin has been removed.
Output property 'binResultsDir' file D:\d\luo\wallet-api\lkdemo-app\build\test-results\test\binary\output.bin.idx has been removed.
Finished generating test XML results (0.0 secs) into: D:\d\luo\wallet-api\lkdemo-app\build\test-results\test
Generating HTML test report...
Finished generating test html results (0.006 secs) into: D:\d\luo\wallet-api\lkdemo-app\build\reports\tests\test
:lkdemo-app:test (Thread[Task worker for ':',5,main]) completed. Took 0.881 secs.
:lkdemo-app:check (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:check
Skipping task ':lkdemo-app:check' as it has no actions.
:lkdemo-app:check (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:lkdemo-app:build (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:build
Skipping task ':lkdemo-app:build' as it has no actions.
:lkdemo-app:build (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/4.10.2/userguide/command_line_interface.html#sec:command_line_warnings

View Code

 

耗时是 1min 4s, 真是太长了啊 !!

 

观察到, 此时执行是任务即task是: 

Tasks to be executed: [task ':lkdemo-app:clean', task ':lkdemo-interface:compileJava', task ':lkdemo-interface:processResources', task ':lkdemo-interface:classes', task ':lkdemo-interface:jar', task ':lkdemo-app:compileJava', task ':lkdemo-app:processResources', task ':lkdemo-app:classes', task ':lkdemo-app:bootJar', task ':lkdemo-app:bootStartScripts', task ':lkdemo-app:bootDistTar', task ':lkdemo-ap
p:bootDistZip', task ':lkdemo-app:jar', task ':lkdemo-app:startScripts', task ':lkdemo-app:distTar', task ':lkdemo-app:distZip', task ':lkdemo-app:sourcesJar', task ':lkdemo-app:assemble', task ':lkdemo-app:compileTestJava', task ':lkdemo-app:processTestResources', task ':lkdemo-app:testClasses', task ':lkdemo-app:test', task ':lkdemo-app:check', task ':lkdemo-app:build']

 

可以看到 有不少的 task,  其中关键task 是:  

distZip distTar bootJar bootDistZip 

 

最长的是 : distZip 竟然花了近 16s.. bootDistZip 花了 7s

 另外, compileTestJava也花了近10s, 当然这个时间是不能少的..

而 compileTestJava 花了近13s ,  test 源目录没有几个类, 为什么它这么多? 难道是 Created classpath snapshot for incremental compilation in 0.053 secs. 1706 duplicate classes found in classpath ? 

 

distZip 生成的  lkdemo-app-1.0.0-SNAPSHOT.zip 到底有什么内容呢 ?  为什么会有这么一个 zip ?  打开发现其中并没有什么特别有用的内容!

 

 后面我又发现, 其实不用 执行 build 任务, 如果仅仅是 发布的话,  执行 bootjar 就足够.  此时的执行的任务是: 

Tasks to be executed:[task ':lkdemo-interface:compileJava', task ':lkdemo-interface:processResources', task ':lkdemo-interface:classes', task ':lkdemo-interface:jar', task ':lkdemo-app:compileJava', task ':lkdemo-app:processResources', task ':lkdemo-app:classes', task ':lkdemo-app:bootJar']

 

此时的输出是: 

 Tasks to be executed: [task ':lkdemo-interface:compileJava', task ':lkdemo-interface:processResources', task ':lkdemo-interface:classes', task ':lkdemo-interface:jar', task ':lkdemo-app:compileJava', task ':lkdemo-app:processResources', task ':lkdemo-app:classes', task ':lkdemo-app:bootJar']

:lkdemo-interface:compileJava (Thread[Task worker for ':',5,main]) started.
:lkdemo-app:processResources (Thread[Task worker for ':' Thread 7,5,main]) started.

> Task :lkdemo-app:processResources UP-TO-DATE
Skipping task ':lkdemo-app:processResources' as it is up-to-date.
:lkdemo-app:processResources (Thread[Task worker for ':' Thread 7,5,main]) completed. Took 0.01 secs.

> Task :lkdemo-interface:compileJava
Resolving global dependency management for project 'lkdemo-interface'
Excluding []
Excluding []
Skipping task ':lkdemo-interface:compileJava' as it is up-to-date.

> Task :lkdemo-interface:compileJava UP-TO-DATE
:lkdemo-interface:compileJava (Thread[Task worker for ':',5,main]) completed. Took 3.77 secs.
:lkdemo-interface:processResources (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-interface:processResources NO-SOURCE
file or directory 'D:\d\kl\wallet-api\lkdemo-interface\src\main\resources', not found
Skipping task ':lkdemo-interface:processResources' as it has no source files and no previous output files.
:lkdemo-interface:processResources (Thread[Task worker for ':',5,main]) completed. Took 0.001 secs.
:lkdemo-interface:classes (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-interface:classes UP-TO-DATE
Skipping task ':lkdemo-interface:classes' as it has no actions.
:lkdemo-interface:classes (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
:lkdemo-interface:jar (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-interface:jar UP-TO-DATE
Skipping task ':lkdemo-interface:jar' as it is up-to-date.
:lkdemo-interface:jar (Thread[Task worker for ':',5,main]) completed. Took 0.007 secs.
:lkdemo-app:compileJava (Thread[Task worker for ':',5,main]) started.

> Task :lkdemo-app:compileJava
Resolving global dependency management for project 'lkdemo-app'

BUILD SUCCESSFUL in 17s
5 actionable tasks: 1 executed, 4 up-to-date

 

可以看到, 17s 就足够, 快了n倍 !!

 

当然, 执行 jar 任务是不够的, 因为 对于 spring boot 项目, jar 不会执行, 从日志可以看到: 

> Task :lkdemo-app:jar SKIPPED
Skipping task ':lkdemo-app:jar' as task onlyIf is false.

 

如果 jar 不会执行, 那么jar 前面的会执行吗?  测试发现也不会...

View Code

 

Tasks to be executed: [task ':kl-wallet-app:clean', task ':kl-wallet-interface:compileJava', task ':kl-wallet-interface:processResources', task ':kl-wallet-interface:classes', task ':kl-wallet-interface:jar', task ':kl-wallet-app:compileJava', task ':kl-wallet-app:processResources', task ':kl-wallet-app:classes', task ':kl-wallet-app:jar']

 

可以对比发现, 唯一的区别是 最后一个task.. 

 

当然, 如果是普通的项目, 非spring boot 项目, jar 是会正常执行的 !!

 

 另外发现,  即使 java 文件没有任何变化, 还是会去扫描, 然后 也要花费 4 - 5 s 的时间..

> Task :lkdemo-interface:compileJava UP-TO-DATE
:lkdemo-interface:compileJava (Thread[Task worker for ':',5,main]) completed. Took 4.104 secs.
:lkdemo-interface:processResources (Thread[Task worker for ':',5,main]) started.

...

:lkdemo-app:compileJava (Thread[Task worker for ':' Thread 7,5,main]) completed. Took 5.598 secs.

 

 

怎么办?  使用 -x test 排查 test task,   此时的输出是:

Tasks to be executed: [task ':kl-wallet-interface:compileJava', task ':kl-wallet-interface:processResources', task ':kl-wallet-interface:classes', task ':kl-wallet-interface:jar', task ':kl-wallet-app:compileJava', task ':kl-wallet-app:processResources', task ':kl-wallet-app:classes', task ':kl-wallet-app:bootJar']

 

可见, 确实没了 test / testResource 相关的task 了, 构建更快了 !! 

 

开心!~

标签:task,Thread,app,lkdemo,gradle,Task,interface,加速,打包
From: https://blog.51cto.com/u_12497420/5856989

相关文章

  • idea打包jar到nexus私服仓库
    因为本地不同项目jar的调用,所以只能搭建私服仓库,nexus-2.12.0-01原有setting.xml配置了阿里云,setting.xml-->servers<server><id>nexus-releases</id......
  • 打包python为应用程序
    python第三方库安装工具pip的安装:pip:  AtoolforinstallingandmanagingPythonpackages.要用到第三方包,python的版本就必须是2.7https://pypi.python.org/pypi/s......
  • 打包后this.getResource(“”).getPath()获取不到对应的文件解决方法
    使用this.getClassLoader().getResource(“”).getPath();Java 在开发中经常需要获取资源文件路径,读写配置文件:this.getClass().getClassLoader().getResource(“路径”......
  • SpringBoot 09: SpringBoot项目打包 (war包 + jar包)
    打成war包项目配置创建一个springboot的jsp应用pom.xml <!--执行打包是war包--> <packaging>war</packaging> <build> <!--打包后的文件名称--> <finalN......
  • vue打包后网页首次打开加载慢
    二、nginx配置server{gzipon;gzip_buffers324K;gzip_comp_level6;gzip_min_length100;gzip_typesapplication/javascripttext/csstext/xml;gzip_disable"M......
  • 项目管理 Gradle
    依赖配置Gradle中依赖以组的形式来划分不同的配置。每个配置都只是一组指定的依赖。我们称之为依赖配置。你也可以借由此声明外部依赖。后面我们会了解到,这也可用用来声......
  • gradlew 查看项目依赖
    查看app下的项目依赖版本./gradlew:app:dependencies--configurationreleaseCompileClasspath查看Module,示例如下./gradlew:{Module的名字}:dependencies--conf......
  • gradlew 进程调试
    详细的错误信息与处理方法有会有显示Windows下使用gradlewprocessDebugManifest--stacktraceMac下使用,在相同命令前添加././gradlewprocessDebugManifest--s......
  • 08-模型加速之轻量化模型(二) 深度可分离:MobileNet
    SqueezeNet虽在一定程度上减少了卷积计算量,但仍然使用传统的卷积计算方式,而在其后的MobileNet利用了更为高效的深度可分离卷积的方式,进一步加速了卷积网络在移动端的应......
  • gradle 项目报错
    thetrustAnchorsparametermustbenon-empty解决方案:导入仓库证书到本地jdk的\lib\security里面keytool.exe-import-v-trustcacerts-aliasgradleplugin-fil......