我使用Maven Module
在IntelliJ中从头创建了一个新项目。我没有选择任何特定的原型,我点击完成。该项目很好地创建,我在src / main下有java
和resources
个文件夹。
不幸的是,我的应用程序在resources
文件夹中找不到任何属性文件,因为它在项目基础文件夹中查找。
我仔细检查了资源文件夹在项目结构中被标记为“源文件夹”,我还尝试将以下内容添加到pom.xml中但没有成功:
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
我正在使用Maven 2.2.1和IntelliJ 11.1,有什么想法吗?
答案 0 :(得分:9)
Intellij 12中有一个错误请转到Settings-&gt; Compiler并取消选中“Use external build”复选框 - 其背后的想法是假设在单独的进程中运行编译器会更快地运行但事实上有一个错误,当使用maven时,它不会复制资源。
答案 1 :(得分:3)
右键单击目录 - &gt; &#34;将目录标记为&#34; - &GT; &#34;资源根&#34;
答案 2 :(得分:1)
答案很简单..!
只需在源代码中引用文件路径,如下所示:
src\\main\\resources\\FileName
&应该可以正常工作。
答案 3 :(得分:0)
试
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
</resources>
或在设置下 - &gt;编译器 - &gt;资源模式,添加资源模式(即?* .prefs)
答案 4 :(得分:0)
有类似的问题。适用于我的解决方案:
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("path").getFile());
答案 5 :(得分:0)
我遇到了类似的问题并已解决。
我的问题不是 Intellij 问题,而是我的 pom.xml
中的错误
我错误地包含了这个:
@component
class StudentUtil {
@Autowired
private ConditionEvaluatorFactory evaluatorFactory;
public void callerFunc(Student s, List<Course> courseList) {
boolean flag = evaluatorFactory.getEvaluator(ConditionType.STUDENT_PASSED).evaluate(s, courseList);
...
}
删除此(或更正)解决了我的问题。