17

I created a new Project from scratch in IntelliJ by using a Maven Module. I didn't select any specific archetypes and I clicked on finish. The project gets created nicely and I have the java and resources folders under src/main as expected.

Unfortunately, my application does not find any property files in the resources folder because it looks in the project base folder instead.

I double checked that the resources folder is marked as 'source folder' in the Project Structure and I also tried to add the following to the pom.xml with no success:

<resources>
  <resource>
    <directory>src/main/resources</directory>
  </resource>
</resources>

I'm using Maven 2.2.1 and IntelliJ 11.1, Any thoughts??

Marsellus Wallace
  • 17,991
  • 25
  • 90
  • 154
  • IDEA community edition 11.1.2 works well. Custom resource dirs not seem, but default dir 'src/main/resources' see well – Ilya Sep 07 '12 at 22:09
  • See http://wiki.jetbrains.net/intellij/Maven_FAQ. – CrazyCoder Sep 08 '12 at 05:12
  • What kind of resources do you have there? If it something custom types (*.bin, etc) you have to specify compiler to include these files – Eugen Martynov Sep 08 '12 at 08:23
  • Can you show us a screenshot or typed text-version of your project's directory structure? – Jesse Webb Sep 10 '12 at 22:55
  • One other thing to try... IDEA project creation sucks, unfortunately. I always use `mvn` command line with `archetype:generate` to create new projects. Then I use the POM file as a way to create a new IDEA project with existing sources (I think). If you have a pom, try deleting all your IDEA project files (.ipr, .iml, .idea, etc) and then creating a new IDEA project using the POM file. See what happens... – Jesse Webb Sep 10 '12 at 22:58

6 Answers6

9

There is a bug in Intellij 12 please go to Settings->Compiler and un-check "Use external build" check box - the idea behind it was that it was suppose to run faster with a compiler run in a separate process but in fact there is a bug and when using maven it does not copy resources.

Ichtion
  • 91
  • 1
  • 2
  • Link to a relevant entry in IntelliJ issue tracker mentioning the fix: http://youtrack.jetbrains.com/issue/IDEA-97759 – cooltea Dec 20 '13 at 10:04
  • 5
    For those using IntelliJ IDEA 13, external build is the only option available since the older compiler has been removed. Thus, you won't find any checkbox for "Use external build". – Aditya Dec 03 '14 at 07:30
6

Right Click the Directory -> "Mark Directory as" -> "Resource Root"

Ahmad Abdelghany
  • 11,983
  • 5
  • 41
  • 36
1

try

<resources>
  <resource>
    <directory>src/main/resources</directory>
    <includes>
      <include>**/*</include>
    </includes>
  </resource>
</resources>

or under settings -> compiler -> resource patterns, add the resource pattern (i.e ?*.prefs)

fo_x86
  • 2,583
  • 1
  • 30
  • 41
1

Had similar issue. Solution that worked for me:

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("path").getFile());
mafyak
  • 51
  • 3
1

Well the answer is quite simple ..!
Just reference the file path in your source code as below:

src\\main\\resources\\FileName

& it should work as expected.

Stephan Hogenboom
  • 1,543
  • 2
  • 17
  • 29
master
  • 19
  • 1
1

I had a similar issue and resolved it.
My issue was not an Intellij issue, it was an error in my pom.xml
I had included this by mistake:

<packaging>pom</packaging>

Removing this (or correcting it) fixed my issue.

davidfrancis
  • 3,734
  • 2
  • 24
  • 21