In Eclipse simply add this src/main/resources to Java Build Path as source folder then class running in eclipse can see it.

rgds,

Markku

On 6.4.2010 16:39, Benoît Thiébault wrote:
:-)
Sorry that I have not been clear. Let me detail a bit further.

I have a project that I will call MyProjectA. It is structured according to 
Maven conventions:

MyProjectA
|-- pom.xml
`-- src
     |-- main
     |   `-- resources
     |       `-- myImage.png
     |   `-- java
     |       `-- com
     |           `-- mycompany
     |               `-- app
     |                   `-- Main.java
     |                   `-- ClassRequiringImage.java
     `-- test
         `-- java
             `-- com
                 `-- mycompany
                     `-- app
                         `-- MainTest.java

The image is loaded by the ClassRequiringImage class with the code line I described 
earlier. The Main class can be executed and uses the ClassRequiringImage class. But when 
it does so, getClass().getResourceAsStream("/myImage.png") returns null (which 
is logical, I should but the image in src/main/java for this code to work).

I have a second project, MyProjectB that depends on the first one. It is not 
using Maven to compile and run but Ant. To use the classes of MyProjectA, I 
just copied the jar in MyProjectB class path.
When MyProjectB uses the ClassRequiringImage class from the MyProjectA project, as the 
image is at the root of the JAR, getClass().getResourceAsStream("/myImage.png") 
returns the image.

The problem is that I want to have both ways of using the code to work. At 
first, I had a resource package com.mycompany.app.resource containing the 
image, but Maven does not seem to include its content when packaging the JAR. 
This is why I tried to comply with the convention and moved my files to 
src/main/resources.

Benoît


Le 6 avr. 2010 à 15:16, maven apache a écrit :

2010/4/6 Benoît Thiébault<[email protected]>

Hi everyone,

This is certainly a very dumb question but I have trouble accessing my
resources that are located in the src/resource directory.

In my code, to load an image, I do:
ImageIO.read(getClass().getResourceAsStream("/myImage.png"))

When Maven packages my software, it puts everything in the resource
directory at the root of the JAR file.
So when I use my software from another code, including the jar in the
classpath, it works.

What does the " my software " mean? Can you show the structure of your
project?

But if I use my software as a standalone application (without packaging it
in a jar file), it can't find the image (which is logical because the file
in not at the same place than in the jar).

How do you solve this problem ? Do I really have to run my app from the jar
? How can I configure Eclipse (with m2eclipse plugin installed) to run my
code correctly ?

Thank you
Benoît


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


----
Benoît Thiébault

   Artenum - Science&  Groupware
   http://www.artenum.com

   24, rue Louis-Blanc, 75010 Paris
   tel/fax : +33 (0)1 46 94 67 54


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to