Hi,
I finally found a solution! After digging into tapestry code to find
out why some components aren't transformed at
startup I found the source for the problem.
Basically this strange error message means: "I can't find the template
file for the component xxx". Not that easy
to trace the exception back to this reason, therefore this quite, lets
say confusing error message.
So it's a classpath problem. After that conclusion the rest was quite
simple.
According to Tapestry Documentation:
"Component templates are stored with the component class file. The
files have a ".tml" extension
(i.e., Tapestry Markup Language), and are stored in the same package
as corresponding
component class."
Unfortunately that was my project structure I had the templates
exactly in the same directory as the java
classes. But then I read the next sentence:
"Under a typical Maven directory structure, the Java class for a
component might be
src/main/java/org/example/myapp/components/MyComponent.java. The
corresponding template will be
src/main/resources/org/example/myapp/components/MyComponent.tml."
I don't know what maven does exactly when packaging the application,
however it seems
that my first approach (taken from tapestry wiki) only works with a
component without any
further embedded components. Which is strange too ... why does it find
the template file
for the first component, but not the template file for the second
(which resides in the same
directory).
So after several hours the simple solution was to move the templates
to the resources directory
and it works!
Cheers,
Michael
On Jun 29, 2008, at 1:07 PM, Michael Zehender wrote:
Hi,
I've just created a test case with PageTester and running the test
gives the same exception as running the
application via maven (I guess, because it uses the same jetty
configuration as mvn jetty:run does ...)
Is there a way to configure eager class transformations?
or how does eclipse/jetty influence the configuration to perform
eager class transformations?
Thanks,
Michael
On Jun 29, 2008, at 12:47 PM, Christian Riedel wrote:
Hi,
I have a similar problem with the same error when I try to develop
on Ubuntu Linux. The same code in the same environment (eclipse,
tomcat5.5) works fine when I use Windows or OS X...
Michael Zehender schrieb:
Hi,
I've just finished the development of a t5 application, my
environment is maven/eclipse/jetty launcher
and inside this environment everything works just fine.
However there are some problems outside this environment,
especially outside launching jetty via
eclipse.
If I run mvn jetty:run (or use jetty/tomcat of my production
environment), it starts up and finds all necessary
components and packages. As soon as I access the start page an
exception page is shown:
org.apache.tapestry5.ioc.internal.util.TapestryException:
Component Index:layout does not contain an embedded component with
id 'sidebar'. Available components: (none).
...
I've compared the startup of the elipse/jetty with mvn jetty:run
and the difference is:
eclipse/jetty: executes every class transformation of every
single component and page before rendering the start page
mvn jetty:run: just executes the class transformation of layout
and the start page
The component which isn't found (sidebar) is embedded within the
layout component.
I'd be pleased if somebody would have a solution/workaround to run
my application in the production environment.
Thanks,
Michael
---------------------------------------------------------------------
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]