41.关于Intellij IDEA菜单项中Compile、Make和Build的区别

本文详细解释了Java集成开发环境中常见的三种编译方式:Compile、Make和Build的区别及应用场景。Compile仅编译选定目标;Make编译已更改的文件;Build则对整个项目进行彻底的重新编译并可能生成发布包。
转自:https://www.cnblogs.com/ini_always/archive/2011/10/23/2221985.html
Compile、Make和Build的区别
 
针对Java的开发工具,一般都有Compile、Make和Build三个菜单项,完成的功能的都差不多,但是又有区别。
 
编译,是将源代码转换为可执行代码的过程。编译需要指定源文件和编译输出的文件路径(输出目录)。Java的编译会将java编译为class 文件,将非java的文件(一般成为资源文件、比如图片、xml、txt、poperties等文件)原封不动的复制到编译输出目录,并保持源文件夹的目 录层次关系。
 
在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。这三个选项最基本的功能都是完成编译过程。但又有很大的区别,区别如下:
1、Compile:只编译选定的目标,不管之前是否已经编译过。
 
2、Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,这个就不用考虑了,IDE自己内部会搞定这些的)
 
3、Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置 了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。

转载于:https://www.cnblogs.com/sharpest/p/8022126.html

Abnormal build process termination: "D:\Program Files\IDEA\IntelliJ IDEA 2025.2\jbr\bin\java.exe" -Xmx700m -Djava.awt.headless=true "-Djna.boot.library.path=D:\Program Files\IDEA\IntelliJ IDEA 2025.2/lib/jna/amd64" -Djna.nosys=true -Djna.noclasspath=true --add-opens jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED -Dexternal.project.config=C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2025.2\projects\lims.3c898e48\external_build_system -Dcompile.parallel=true -Drebuild.on.dependency.change=true -Didea.IntToIntBtree.page.size=32768 -Djdt.compiler.useSingleThread=true -Daether.connector.resumeDownloads=false -Dio.netty.initialSeedUniquifier=6045328016711105503 -Djps.use.dependency.graph=true -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN -Didea.paths.selector=IntelliJIdea2025.2 "-Didea.home.path=D:/Program Files/IDEA/IntelliJ IDEA 2025.2" -Didea.config.path=C:/Users/Administrator/AppData/Roaming/JetBrains/IntelliJIdea2025.2 -Didea.plugins.path=C:/Users/Administrator/AppData/Roaming/JetBrains/IntelliJIdea2025.2/plugins -Djps.log.dir=C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2025.2\log\build-log "-Djps.fallback.jdk.home=D:/Program Files/IDEA/IntelliJ IDEA 2025.2/jbr" -Djps.fallback.jdk.version=21.0.7 -Dio.netty.noUnsafe=true -Djava.io.tmpdir=C:/Users/Administrator/AppData/Local/JetBrains/IntelliJIdea2025.2/compile-server/lims-shly_840d39d1/_temp_ -Djps.backward.ref.index.builder=true -Djps.backward.ref.index.builder.fs.case.sensitive=false "-Djps.kotlin.home=D:\Program Files\IDEA\IntelliJ IDEA 2025.2\plugins\Kotlin\kotlinc" -Dkotlin.incremental.compilation=true -Dkotlin.jps.dumb.mode=true -Dkotlin.jps.enable.lookups.in.dumb.mode=true -Dkotlin.incremental.compilation.js=true -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path=C:\Users\ADMINI~1\AppData\Local\Temp\kotlin-idea-8690595407329842680-is-running -Dkotlin.incremental.compilation=true -Dkotlin.jps.dumb.mode=true -Dkotlin.jps.enable.lookups.in.dumb.mode=true -Dkotlin.incremental.compilation.js=true -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path=C:\Users\ADMINI~1\AppData\Local\Temp\kotlin-idea-8690595407329842680-is-running -Dide.compiler.maven.path.to.home=E:\maven\apache-maven-3.6.3-bin\repository -Dide.propagate.context=false -Dintellij.platform.log.sync=true -classpath "D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/jps-launcher.jar" org.jetbrains.jps.cmdline.Launcher "D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/jps-builders.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/jps-builders-6.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/jps-javac-extension.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/util-8.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/util_rt.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/platform-loader.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/annotations.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/trove.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/kotlin-metadata.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/protobuf.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/rt/netty-jps.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/jps-model.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/javac2.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/forms_rt.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/util.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/lib-client.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/aether-dependency-resolver.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/maven-resolver-connector-basic.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/maven-resolver-transport-file.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/maven-resolver-transport-http.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/idea_rt.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/JavaEE/lib/jasper-v2-rt.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/lib/util-8.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/javaFX/lib/javaFX-jps.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/javaFX/lib/javaFX-common.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/eclipse/lib/eclipse-jps.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/eclipse/lib/eclipse-common.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/JavaEE/lib/jps/javaee-jps.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/platform-langInjection/lib/java-langInjection-jps.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/Groovy/lib/groovy-jps.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/Groovy/lib/groovy-constants-rt.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/maven/lib/maven-jps.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/gradle-java/lib/gradle-jps.jar;D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/JPA/lib/jps/javaee-jpa-jps.jar" org.jetbrains.jps.cmdline.BuildMain 127.0.0.1 49955 dc1fbe86-22cc-4b93-a3a1-50c9392808ed C:/Users/Administrator/AppData/Local/JetBrains/IntelliJIdea2025.2/compile-server Be careful, logger will be shut down earlier than application: Unable to make field private static java.util.IdentityHashMap java.lang.ApplicationShutdownHooks.hooks accessible: module java.base does not "opens java.lang" to unnamed module @682a0b20 Build process started. Classpath: D:/Program Files/IDEA/IntelliJ IDEA 2025.2/plugins/java/lib/jps-launcher.jar JAVAC_PROCESS[STDOUT]: # JAVAC_PROCESS[STDOUT]: # There is insufficient memory for the Java Runtime Environment to continue. JAVAC_PROCESS[STDOUT]: # Native memory allocation (malloc) failed to allocate 375328 bytes for Chunk::new JAVAC_PROCESS[STDOUT]: # An error report file with more information is saved as: JAVAC_PROCESS[STDOUT]: # C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2025.2\compile-server\hs_err_pid22588.log JAVAC_PROCESS[STDOUT]: [thread 21232 also had an error] JAVAC_PROCESS[STDOUT]: # JAVAC_PROCESS[STDOUT]: # There is insufficient memory for the Java Runtime Environment to continue. JAVAC_PROCESS[STDOUT]: # Native memory allocation (malloc) failed to allocate 32744 bytes for ChunkPool::allocate JAVAC_PROCESS[STDOUT]: # An error report file with more information is saved as: JAVAC_PROCESS[STDOUT]: # C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2025.2\compile-server\hs_err_pid27164.log JAVAC_PROCESS[STDOUT]: [thread 2064 also had an error] JAVAC_PROCESS[STDOUT]: # JAVAC_PROCESS[STDOUT]: # Compiler replay data is saved as: JAVAC_PROCESS[STDOUT]: # C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2025.2\compile-server\replay_pid22588.log 2025-08-26 13:27:42,498 [ 7595] WARN - io.netty.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception. java.net.SocketException: Connection reset at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401) at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434) at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255) at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.handle(AbstractNioChannel.java:444) at io.netty.channel.nio.NioIoHandler$DefaultNioRegistration.handle(NioIoHandler.java:386) at io.netty.channel.nio.NioIoHandler.processSelectedKey(NioIoHandler.java:585) at io.netty.channel.nio.NioIoHandler.processSelectedKeysPlain(NioIoHandler.java:530) at io.netty.channel.nio.NioIoHandler.processSelectedKeys(NioIoHandler.java:503) at io.netty.channel.nio.NioIoHandler.run(NioIoHandler.java:478) at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:203) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:174) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1123) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) JAVAC_PROCESS[STDOUT]: # JAVAC_PROCESS[STDOUT]: # There is insufficient memory for the Java Runtime Environment to continue. JAVAC_PROCESS[STDOUT]: # Native memory allocation (malloc) failed to allocate 590480 bytes for Chunk::new JAVAC_PROCESS[STDOUT]: # An error report file with more information is saved as: JAVAC_PROCESS[STDOUT]: # C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2025.2\compile-server\hs_err_pid18280.log JAVAC_PROCESS[STDOUT]: # JAVAC_PROCESS[STDOUT]: # Compiler replay data is saved as: JAVAC_PROCESS[STDOUT]: # C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2025.2\compile-server\replay_pid27164.log # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (malloc) failed to allocate 319696 bytes. Error detail: Chunk::new # An error report file with more information is saved as: # C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2025.2\compile-server\hs_err_pid25952.log 2025-08-26 13:27:42,520 [ 7617] WARN - io.netty.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception. java.net.SocketException: Connection reset at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401) at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434) at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255) at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.handle(AbstractNioChannel.java:444) at io.netty.channel.nio.NioIoHandler$DefaultNioRegistration.handle(NioIoHandler.java:386) at io.netty.channel.nio.NioIoHandler.processSelectedKey(NioIoHandler.java:585) at io.netty.channel.nio.NioIoHandler.processSelectedKeysPlain(NioIoHandler.java:530) at io.netty.channel.nio.NioIoHandler.processSelectedKeys(NioIoHandler.java:503) at io.netty.channel.nio.NioIoHandler.run(NioIoHandler.java:478) at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:203) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:174) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1123) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) JAVAC_PROCESS[STDOUT]: # JAVAC_PROCESS[STDOUT]: # Compiler replay data is saved as: JAVAC_PROCESS[STDOUT]: # C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2025.2\compile-server\replay_pid18280.log 2025-08-26 13:27:42,593 [ 7690] WARN - io.netty.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception. java.net.SocketException: Connection reset at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401) at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434) at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255) at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.handle(AbstractNioChannel.java:444) at io.netty.channel.nio.NioIoHandler$DefaultNioRegistration.handle(NioIoHandler.java:386) at io.netty.channel.nio.NioIoHandler.processSelectedKey(NioIoHandler.java:585) at io.netty.channel.nio.NioIoHandler.processSelectedKeysPlain(NioIoHandler.java:530) at io.netty.channel.nio.NioIoHandler.processSelectedKeys(NioIoHandler.java:503) at io.netty.channel.nio.NioIoHandler.run(NioIoHandler.java:478) at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:203) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:174) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1123) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) # # Compiler replay data is saved as: # C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2025.2\compile-server\replay_pid25952.log 这是什么报错
08-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值