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文件里面生成了相对应的文件,如下图所示:

总结
上一篇:Java实现Twitter的分布式自增ID算法snowflake
栏 目:JAVA代码
本文标题:IDEA不编译除了.java之外的文件的解决办法(推荐)
本文地址:http://www.codeinn.net/misctech/50821.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




