IDEA不编译除了.java之外的文件的解决办法(推荐)

  

IDEA不编译除了.java之外的文件的解决办法(推荐)

在使用IntelliJ IDEA 进行项目开发时,我们可能会遇到只编译 Java 文件,而不编译其他文件的问题,这可能会导致一些问题出现。此时,我们需要采取一些措施来解决这个问题。

解决方案

解决方案有很多种,主要有三种:

方案一

打开IntelliJ IDEA设置,找到Compiler,在其中找到Compile ,取消勾选clear output directory on rebuild(重新编译时清空输出目录),添加如下scopes

!file[modules]/output
file[modules]/build
!file[modules]/test-output
file[modules]/test-build

这样设置可以让IDEA在编译Java文件时,不清空输出目录,从而保留编译后的其他文件。

方案二

在项目的module目录下,创建一个新的文件夹,命名为out,这个文件夹用于存放编译后的其他文件。然后,我们可以在File -> Settings -> Build, Execution, Deployment -> Compiler -> Output path中设置该文件夹为输出目录。

方案三

在项目的根目录下添加一个.idea/compiler.xml文件,用来配置编译器(compiler),文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CompilerConfiguration">
    <wildcardResourcePatterns>
      <entry name="!?*.java" />
    </wildcardResourcePatterns>
  </component>
</project>

这样设置可以让IDEA编译Java文件以外的文件。

示例

示例一

有一个工程中有一个resources文件夹用于存放一些配置文件等。在IntelliJ IDEA中通过编译整个工程后,我们发现这些配置文件没有被编译到输出目录下,导致我们在运行时不能正常读取这些配置文件。

采用方案一解决,取消勾选clear output directory on rebuild(重新编译时清空输出目录),添加如下scopes

!file[modules]/output
file[modules]/build
!file[modules]/test-output
file[modules]/test-build

这样设置可以让IDEA在编译Java文件时,不清空输出目录,从而保留编译后的其他文件。

示例二

在使用SpringBoot开发Web应用时,我们通常会在src/main/resources/static目录下放置一些静态资源文件,比如JS、CSS 和 图片等,但是在使用IntelliJ IDEA进行编译时,这些静态资源常常没有被编译到输出目录,导致我们在运行时无法正常加载静态资源文件。

采用方案三解决,在项目的根目录下添加一个.idea/compiler.xml文件,用来配置编译器,文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CompilerConfiguration">
    <wildcardResourcePatterns>
      <entry name="!?*.java" />
    </wildcardResourcePatterns>
  </component>
</project>

这样设置可以让IDEA编译Java文件以外的文件,从而包括了静态资源文件一起编译到输出目录中。

相关文章