mmh I don't want to commit .classpath / .project files to my repository and I 
couldn't find the maven switch to properly generate those files.

So 
        <classpathentry excluding="**" kind="src" output="target/classes" 
path="src/main/resources"/>
should read
        <classpathentry kind="src" output="target/classes" 
path="src/main/resources"/>
and that's it?

Just tried that out but new classes are still not recognized... 


Didn't know about the system property, this would have had been pretty helpful 
in the past :-)

Someone could make some notes about these "advanced project configuration" 
steps in the new docs? Or someone writes a nice blog post about it... Time for 
better IDE support, I'd say! :)


Thanks for the hints, guys!

Christian


Am 08.11.2010 um 18:07 schrieb Nicolas Barrera:

> Chirstian,
> 
> I 've faced that problem of yours with the manifest.mf... and the tapestry
> module classes...,
> 
> I think it's not on tapestry documentation..., (please I think it will be
> positive to add it here
> http://tapestry.apache.org/tapestry5/tapestry-ioc/autoload.html!)
> but I dove into tapestry source code to find out that there is a development
> replacement for the manfiest tapestry-module-classes, it's a tapestry
> parameter parameter named
> 
> tapestry.modules
> 
> 
> so..., something i 've forgotten about my jetty  m2e eclipse run
> configuration is that it also runs with another maven profile.., a jetty
> profile.., then in my webapp pom i set that profile with the following
> plugin configuration:
> 
>                    <plugin>
>>                        <groupId>org.mortbay.jetty</groupId>
>>                        <artifactId>jetty-maven-plugin</artifactId>
>>                        <configuration>
>>                            <systemProperties>
>>                                <systemProperty>
>>                                    <name>
>>                                        tapestry.modules
>>                                    </name>
>>                                    <value>
>>                                        com.something,LibModule1,
>>                                        com.something.LibModule2
>>                                    </value>
>>                                </systemProperty>
>>                            </systemProperties>
>>                            <webAppConfig>
>>                                <contextPath>/myWebapp</contextPath>
>>                            </webAppConfig>
>>                            <!-- al presionar Enter en la consola, reinicia
>> Jetty -->
>>                            <reload>manual</reload>
>>                            <scanIntervalSeconds>10</scanIntervalSeconds>
>>                            <scanTargetPatterns>
>>                                <scanTargetPattern>
>>                                    <directory>src/main/webapp</directory>
>>                                    <excludes>
>>                                        <exclude>assets/**</exclude>
>>                                    </excludes>
>>                                </scanTargetPattern>
>>                            </scanTargetPatterns>
>>                        </configuration>
>>                    </plugin>
>> 
> 
> the important part here is that i can avoid the manifest setting this
> property:
> 
>                            <systemProperties>
>                                <systemProperty>
>                                    <name>
>                                        tapestry.modules
>                                    </name>
>                                    <value>
>                                        com.something,LibModule1,
>                                        com.something.LibModule2
>                                    </value>
>                                </systemProperty>
>                            </systemProperties>
> 
> 
> 
> Oh, another thing that i 've forgotten is what thiago told you..., i don't
> use mvn eclipse:eclipse to generate the .project... instead i got an
> organization-wide archetype which creates the .project/.classpath correctly
> for webapps.
> (modifying the excludes thiago mentions).
> 
> hope that helps...,
> 
> Nicolás.-
> 
> 
> On Mon, Nov 8, 2010 at 1:36 PM, Christian Riedel 
> <cr.ml...@googlemail.com>wrote:
> 
>> Hi Nicolas & Thiago!
>> 
>> I knew about the "resolve artifacts" flag but in the past it didn't always
>> work as expected, so I never used it. Having played with it now a bit I see
>> that class/resource-reloading works but there are some pitfalls:
>> 
>> - I use Maven to generate my Manifest.mf (Tapestry-Module-Classes).
>> Auto-resolving artifacts means there is no maven-generated manifest.mf
>> available. You have to create one that is similar to the generated one and
>> store it in src/main/resources/META-INF for example.
>> 
>> - New files are not copied over automatically. I created a test-page that
>> was only recognized after I made a clean install of the module. Then
>> hot-replacement was working again. (Yes, a restart was not sufficient, I had
>> to reinstall the module!)
>> 
>> 
>> After being angry at maven for those pitfalls I decided to give that
>> RunJettyRun plugin a try.
>> I still have to provide a manually created manifest.mf but new resources
>> are at least read in automatically.
>> 
>> 
>> Feeling better now, thanks again!
>> Christian
>> 
>> 
>> Am 08.11.2010 um 14:56 schrieb Nicolas Barrera:
>> 
>>> Christian,
>>> 
>>> are you using the "Resolve artifacts in workspace" feature of the m2e
>>> plugin?
>>> 
>>> I use it and although I 'm not using a multimodule, class reloading works
>>> like a charm...
>>> 
>>> my scenario could be like this:
>>> 
>>> webapp (t5 web with pages, which reference or depend on the weblib pages)
>>>     |
>>>     |
>>>    \ /
>>> weblib (t5 library w/ custom components and pages)
>>> 
>>> If you 're not using that feature you can activate it across all projects
>> in
>>> the Window -> Preferences, filter for maven.., and tick the checkbox
>>> "Resolve artifacts in workspace". This will help for maven dependencies
>> to
>>> compile without being installed.
>>> 
>>> Ah, just like you, I 'm using Jetty and I run it like an m2e eclipse Run
>>> Configuration..., once again there you a have a "Resolve artifacts in
>>> workspace" checkbox you need to tick. This will help jetty to find the
>> web
>>> dependencies without having to install them.
>>> 
>>> I hope I was clear, if not just ask again
>>> 
>>> cheers
>>> 
>>> Nicolás.-
>>> 
>>> 
>>> On Mon, Nov 8, 2010 at 10:43 AM, Thiago H. de Paula Figueiredo <
>>> thiag...@gmail.com> wrote:
>>> 
>>>> On Mon, 08 Nov 2010 11:24:53 -0200, Christian Riedel <
>>>> cr.ml...@googlemail.com> wrote:
>>>> 
>>>> Hi list,
>>>>> 
>>>> 
>>>> Hi!
>>>> 
>>>> 
>>>> I'm trying to build a multi-module project with maven 2 (w/ m2eclipse)
>> and
>>>>> Tapestry (5.2.2) of course! One module contains the .war artifact and
>> some
>>>>> of the others contribute pages and components...
>>>>> Now the problem is that I can't leverage live-class-reloading or
>> resource
>>>>> reloading in general since I always have to re-install the artifacts
>> and
>>>>> restart jetty (using jetty:run) to see the changes...
>>>>> 
>>>> 
>>>> jetty:run and Maven plugins in general have this problem. Use
>> RunJettyRun
>>>> or an embedded Jetty instance to run your project and everything will
>> work.
>>>> :)
>>>> 
>>>> --
>>>> Thiago H. de Paula Figueiredo
>>>> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
>>>> and instructor
>>>> Owner, Ars Machina Tecnologia da Informação Ltda.
>>>> http://www.arsmachina.com.br
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>> 
>>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>> 
>> 


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

Reply via email to