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之外的文件内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!