我是靠谱客的博主 自然大米,最近开发中收集的这篇文章主要介绍IDEA不编译除了.java之外的文件的解决办法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

— 遇到问题

今天在IDEA里面运行项目的时候报了一个错,如下图所示:


— 找到问题根源

其实控制台给出的错误信息提示说的很明显:类加载器加载文件的时候没有找到指定的文件,于是我看了一下项目编译的二进制文件,如下图所示:


我们可以很清楚的看到我的源文件sixbit和threebit目录和目录下的文件并没有被编译到target二进制文件里面去,所以项目在运行的时候要用到sixbit和threebit目录下的文件时,需要去编译号的classes里面去找相对应的二进制文件,发现根本没有,于是就报错了。但是我在MyEclipse里面运行是完全没有问题的,但是在idea里面就不行,于是经过查阅网上资料,发现IDEA是不会编译.java之外的文件。因为这是maven构建的项目,构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。

src/main/java和src/test/java

这两个目录中的所有*.java文件会分别在comile和test-comiple阶段被编译,编译结果分别放到了target/classes和targe/test-classes目录中,但是这两个目录中的其他文件都会被忽略掉。

src/main/resouces和src/test/resources

这两个目录中的文件也会分别被复制到target/classes和target/test-classes目录中。

— 解决问题

Maven默认只识别src-main-resources下的资源文件,如果在maven工程中资源文件放在src-main-java下,我们需让Maven知道。在pom.xml中,根节点中project中加入如下在pom.xml里面加入如下代码:

<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>

编译整个项目,target文件里面生成了相对应的文件,如下图所示:

最后

以上就是自然大米为你收集整理的IDEA不编译除了.java之外的文件的解决办法的全部内容,希望文章能够帮你解决IDEA不编译除了.java之外的文件的解决办法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部