servletContext.getResourceAsStream("WEB-INF/data/somedata.xml")

?

2011/10/11 Ole Ersoy <ole.er...@gmail.com>:
> Hi,
>
> I believe this forces me to change the location of the web apps data files.
>  Right now they are located under WEB-INF/data/somedata.xml.  So if I use a
> ContextClassLoader then I have to change the location of the files when the
> webapp is deployed in production right?
>
> Thanks,
> - Ole
>
> On 10/11/2011 03:25 AM, Olivier Lamy wrote:
>>
>> Hello,
>> Why not simply put your resources in src/main/resources and load it
>> with Thread.currentThread().getContextClassLoader().getResourceAsStream(
>> path in classloader ) ?
>>
>> 2011/10/11 Ole Ersoy<ole.er...@gmail.com>:
>>>
>>> Maybe if i explain what I'm trying to do, it will make more sense.  I
>>> have a
>>> maven webapp project.  I'm running it with:
>>>
>>> mvn tomcat:run
>>>
>>> When I run the webapp I would like to load resources from
>>> "WEB-INF/resources/...".   When running a webapp in a standalone
>>> container
>>> "WEB-INF" is located in the "root" folder.  However because I'm using
>>> maven
>>> to run the webapp, the "WEB-INF" folder is located under
>>> "src/main/webapp".
>>>  Therefore if I want to test resource loading I need to add
>>> "src/main/webapp" to the path of the resource when running with:
>>> mvn tomcat:run.
>>>
>>> So for example running with "mvn tomcat:run" I have to load
>>> myresource.xml
>>> like this:
>>> application.load("src/main/webapp/WEB-INF/resources/myresource.xml");
>>>
>>> However when deploying in a standalone container the same resource would
>>> be
>>> loaded like this:
>>> application.load("WEB-INF/resources/theresource.xml");
>>>
>>> I'm trying to avoid having to change my application configuration for
>>> testing in a standalone container and testing with:
>>> mvn tomcat:run
>>>
>>> Does that make sense?
>>>
>>> Thanks,
>>> - Ole
>>>
>>>
>>> On 10/10/2011 04:26 PM, Olivier Lamy wrote:
>>>>
>>>> 2011/10/10 Ole Ersoy<ole.er...@gmail.com>:
>>>>>
>>>>> I'm running the tomcat plugin configured as follows:
>>>>>
>>>>>>>      <plugin>
>>>>>>>        <groupId>org.codehaus.mojo</groupId>
>>>>>>>        <artifactId>tomcat-maven-plugin</artifactId>
>>>>>>>        <configuration>
>>>>>>>
>>>>>>>  <warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory>
>>>>>>>        </configuration>
>>>>>>>      </plugin>
>>>>>
>>>>> If I run the following line from a servlet the application is running:
>>>>> logger.trace("The current root directory is: {} ", new
>>>>> File("").getAbsolutePath());
>>>>>
>>>>> I would expect to see "The current root directory is:
>>>>> ${basedir}/src/main/webapp". However the result is:
>>>>> "The current root directory is: ${basedir}".  In other words it seems
>>>>> the
>>>>> <warSourceDirectory>    configuration has not taken effect.
>>>>
>>>> you should read current root webapp directory in the servlet container.
>>>>
>>>> this means if you go with your browser to http://localhost:${port}/
>>>> you will see files from this directory.
>>>>
>>>>>
>>>>> Thoughts?  TIA,
>>>>> - Ole
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>>>>> For additional commands, e-mail: users-h...@maven.apache.org
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>>> For additional commands, e-mail: users-h...@maven.apache.org
>>>
>>>
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>



-- 
Olivier Lamy
Talend : http://talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to