You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse中重建Kotlin应用为何会删除target目录下的类文件?

解决Eclipse中Kotlin-Maven-Spring Boot项目自动构建失效问题

问题概述

在Eclipse中搭建Kotlin+Maven+Spring Boot项目时,仅手动执行Maven构建能生成目标类文件;执行Project Clean后,Eclipse自动重建只会删除target/classes下的类文件,不会重新编译Kotlin代码,导致应用无法运行。

环境配置

  • Eclipse 4.26.0
  • 嵌入式Maven 3.8.6
  • Eclipse Kotlin插件0.8.24(含Enhanced Kotlin for Eclipse)
  • Spring Tools 4 - 4.17.2.RELEASE
  • OpenJDK 11.0.2

解决方案

1. 校准Kotlin编译配置

右键项目 → Properties → 进入Kotlin Compiler选项卡:

  • 将Target JVM version设置为11(与本地JDK版本匹配)
  • 勾选Enable incremental compilation,提升构建效率

2. 同步Maven与Eclipse构建生命周期

  • 右键项目 → Maven → Update Project...,勾选Force Update of Snapshots/Releases后点击OK,确保依赖和配置完全同步
  • 打开Window → Preferences → Maven → Lifecycle Mappings,点击Open workspace lifecycle mappings metadata,添加以下配置,让Eclipse自动触发Kotlin编译的Maven目标:
<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
  <pluginExecutions>
    <pluginExecution>
      <pluginExecutionFilter>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-maven-plugin</artifactId>
        <versionRange>[1.0,)</versionRange>
        <goals>
          <goal>compile</goal>
          <goal>test-compile</goal>
        </goals>
      </pluginExecutionFilter>
      <action>
        <execute />
      </action>
    </pluginExecution>
  </pluginExecutions>
</lifecycleMappingMetadata>
  • 保存文件后重启Eclipse,使配置生效

3. 修正项目构建路径

右键项目 → Build Path → Configure Build Path:

  • 在Source选项卡中,确认src/main/kotlin已标记为Source Folder,且输出目录为target/classes
  • 移除无效依赖/源码目录,确保Kotlin Runtime Library已自动添加(无需手动引入virtual目录)

4. 开启Kotlin自动编译

  • 打开Window → Preferences → General → Workspace → Build,确保Build automatically已勾选
  • 进入Kotlin → Compiler → Building,勾选Build project automatically,并将Build on resource save设为Always

5. 验证修复效果

  • 执行Project → Clean...,选择目标项目后点击OK
  • 等待Eclipse自动构建完成,检查target/classes目录下是否生成Kotlin编译后的类文件
  • 右键DemoApplication.kt → Run As → Kotlin Application,确认应用正常启动

额外排查点

若上述步骤无效,可尝试:

  • 卸载并重新安装Kotlin插件,建议使用与Eclipse 4.26兼容的1.8.x版本(当前0.8.24版本可能过旧)
  • 检查pom.xml中的kotlin-maven-plugin配置,确保版本与插件匹配,编译目标正确:
<plugin>
  <groupId>org.jetbrains.kotlin</groupId>
  <artifactId>kotlin-maven-plugin</artifactId>
  <version>1.8.22</version>
  <executions>
    <execution>
      <id>compile</id>
      <goals>
        <goal>compile</goal>
      </goals>
      <configuration>
        <sourceDirs>
          <sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
          <sourceDir>${project.basedir}/src/main/java</sourceDir>
        </sourceDirs>
      </configuration>
    </execution>
    <execution>
      <id>test-compile</id>
      <goals>
        <goal>test-compile</goal>
      </goals>
      <configuration>
        <sourceDirs>
          <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
          <sourceDir>${project.basedir}/src/test/java</sourceDir>
        </sourceDirs>
      </configuration>
    </execution>
  </executions>
</plugin>

内容的提问来源于stack exchange,提问作者ssanchozz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 16:55:17