Hi Martin, Sebastien,

In the future, there may be other situations where there is some funky URL scheme in place and we cannot load initializers, because of the failure to list all /META-INF/wicket/*.properties

Could I suggest that we modify collectWicketProperties() to check that we have at least one initializer and if not, instead of looking for /META-INF/wicket/*.properties, we use normal ClassLoader.getResources("/META-INF/wicket/wicket.properties") directly?

Customer initializers will not work but at least Wicket initializers will work. This would have solved Sebastien's problem, not so?

Cheers,
Jesse

On 15/10/2014 11:21, Sebastien wrote:
Hi Martin,

Just tested the new snapshot. It's working, thanks! :)

Best regards,
Sebastien.


On Wed, Oct 15, 2014 at 10:42 AM, Martin Grigorov <[email protected]>
wrote:

Sebastien,

I've just pushed an improvement.
It seems to work fine here.
Please update and test with your application.
Thanks!

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Oct 15, 2014 at 11:17 AM, Martin Grigorov <[email protected]>
wrote:

Class#getResource[s]() and ClassLoader#getResource[s]() do work.

But traversing the classpath to find files inside a directory doesn't
work.
The idea of https://issues.apache.org/jira/browse/WICKET-5713 is to use
/META-INF/wicket/ with custom names for the old wicket.properties, e.g.
org.apache.wicket.core.properties and
org.apache.wicket.extensions.properties, and com.example.my.properties.
The custom names are needed/wanted to be able to create an uberjar with
all Wicket jars without overriding files coming from several jars.

I have setup WildFly 8.1 in my IDE and debugging it to see whether I can
solve this without adding dependency to jboss-vfs.
But I think it should be OK to add dependency with scope "provided". It
will be used only when deploying in JBoss.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Oct 15, 2014 at 11:03 AM, Sebastien <[email protected]> wrote:

Hi Martin,

This a little bit strange because it work in other situation (like for
properties). Maybe is it related to the location (META-INF) ?

09:59:11,057 INFO  [org.apache.wicket.resource.PropertiesFactory]
Loading
properties files from


vfs:/D:/runtimes/wildfly-8.1.0.Final/bin/content/my-ear-dev.ear/my-war-1.0-SNAPSHOT.war/WEB-INF/lib/wicket-core-7.0.0-M3.jar/org/apache/wicket/Application.properties
with loader
org.apache.wicket.resource.IsoPropertiesFilePropertiesLoader@4807df36
09:59:20,718 INFO  [org.apache.wicket.resource.PropertiesFactory]
Loading
properties files from


vfs:/D:/runtimes/wildfly-8.1.0.Final/bin/content/my-ear-dev.ear/my-war-1.0-SNAPSHOT.war/WEB-INF/lib/wicket-extensions-7.0.0-M3.jar/org/apache/wicket/extensions/Initializer.properties
with loader
org.apache.wicket.resource.IsoPropertiesFilePropertiesLoader@4807df36

Best regards,
Sebastien.


On Tue, Oct 14, 2014 at 5:37 PM, Martin Grigorov <[email protected]>
wrote:

Nice !
JBoss - the new WebSphere !

I'll check what is needed to support this.
wicket-webjars uses Reflections plus some extras to support Vfs.
I prefer to revert the change than to add third party dependencies.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Tue, Oct 14, 2014 at 6:21 PM, Sebastien <[email protected]> wrote:

Oh, you are right ! I did not paid attention to this, it was with
the
warnings for my own jars (/wicket.properties location is
deprecated...)
ERROR [org.apache.wicket.Application] Cannot load


'vfs:/D:/runtimes/wildfly-8.1.0.Final/bin/content/myear-dev.ear/hawk-war-1.0-SNAPSHOT.war/WEB-INF/lib/wicket-core-7.0.0-SNAPSHOT.jar/META-INF/wicket/'.
The protocol 'vfs' is not supported!
ERROR [org.apache.wicket.Application] Cannot load


'vfs:/D:/runtimes/wildfly-8.1.0.Final/bin/content/myear-dev.ear/hawk-war-1.0-SNAPSHOT.war/WEB-INF/lib/wicket-devutils-7.0.0-SNAPSHOT.jar/META-INF/wicket/'.
The protocol 'vfs' is not supported!
ERROR [org.apache.wicket.Application] Cannot load


'vfs:/D:/runtimes/wildfly-8.1.0.Final/bin/content/myear-dev.ear/hawk-war-1.0-SNAPSHOT.war/WEB-INF/lib/wicket-extensions-7.0.0-SNAPSHOT.jar/META-INF/wicket/'.
The protocol 'vfs' is not supported!




On Tue, Oct 14, 2014 at 5:10 PM, Martin Grigorov <
[email protected]>
wrote:

After removing all beanvalidation related stuff the deployment is
successful and the initializers work fine.

Could it be again something with JBoss ?
The change related to this problem is that wicket.properties has
been
moved
from / (i.e. the root of the classpath) to /META-INF/wicket/**
I am not sure whether JBoss doesn't do something special with
/META-INF/**
...

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Tue, Oct 14, 2014 at 5:57 PM, Martin Grigorov <
[email protected]
wrote:

Deploying in Tomcat fails with:

Caused by: java.lang.ClassNotFoundException:
javax.validation.constraints.Pattern$Flag
at

org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1293)
at

org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1145)
... 51 more


Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Tue, Oct 14, 2014 at 5:54 PM, Martin Grigorov <
[email protected]
wrote:

Works fine in embedded Jetty.
Let's see in Tomcat..

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Tue, Oct 14, 2014 at 5:48 PM, Martin Grigorov <
[email protected]>
wrote:

Let me see.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Tue, Oct 14, 2014 at 5:45 PM, Sebastien <[email protected]>
wrote:
Hi devs,

I've got an issue with 7.0.0-SNAPSHOT which is/was not
present
in
M3;
it
seems that Wicket extensions initializer is not called (no
"init:
Wicket
extensions initializer" in the log).

At least the exact error I have is:

java.util.MissingResourceException: Unable to find property:
'datatable.no-records-found' for component:
datatable:bottomToolbars:toolbars:2:td:msg
[class=org.apache.wicket.markup.html.basic.Label]. Locale:
null,
style: null
      at
org.apache.wicket.Localizer.getString(Localizer.java:237)

Thanks & best regards,
Sebastien




Reply via email to