tiles-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Torsten Krah <krah...@gmail.com>
Subject Re: Null pointer in Struts1/Tiles 2 on weblogic server startup
Date Mon, 27 Mar 2017 12:54:29 GMT
Am Montag, den 27.03.2017, 12:22 +0000 schrieb Venu Gopalan:
>  Finally I was able to built a sample program which I converted from
> Struts1/Tiles1 to Struts1/Tiles2. So I started to implement the same
> to a govt project where I need to upgrade spring and hibernate to 4.x
> Now after all the known changes, when I start the server, I get a
> error as below:I do have following jars in the lib and
> classpath:tiles-core-2.2.1.jar
> tiles-api-2.2.1.jar
> tiles-api-2.2.1.jar
> tiles-jsp-2.2.1.jar
> tiles-portlet-2.2.1.jar
> tiles-servlet-2.2.1.jar
> tiles-template-2.2.1.jar
> 
> struts-core-1.4.0-SNAPSHOT.jar
> struts-extras-1.4.0-SNAPSHOT.jar
> struts-tiles-1.4.0-SNAPSHOT.jar
> struts-tiles2-1.4.0-SNAPSHOT.jar
> 
> Am I missing any configuration or any other thing? Any help will be
> highly appreciated.

Had only a short look. Your stacktraces are hard to read ... btw.

It looks to me that the NPE is happen in native code - in don't remember
to have seen such thing lately - i would expect NoClassDefFound or
ClassNotFoundException of something from Class.forName(..) - but a NPE -
strange.
While writing that and having that said - imho the name it wants to load
is "null" ... could that be? But in that case a debugger would have
revealed that and you already tried to use a debugger ... right?

So just unweal your stacktrace up to the frame where the code does fetch
its classname via reflection and have a look at:

1. either is it the correct name (of cause null is not the correct one)
- so why it chooses this one?
2. If you fixed that - make sure that class is actually there.

And if you're using Tiles 2 - you can remove
struts-tiles-1.4.0-SNAPSHOT.jar.

Next - are you running in a portlet or servlet environment? Just remove
the 

tiles-portlet or tiles-servlet jar - whichever you don't need.

And the next thing *i would* try is to just hit a debugger from line:

org.apache.tiles.factory.TilesContainerFactory.getFactory(TilesContainerFactory.java:203)

over
org.apache.tiles.reflect.ClassUtil.instantiate(ClassUtil.java:82) 
to
org.apache.tiles.reflect.ClassUtil.getClass(ClassUtil.java:67)

which class it wants to instantiate to get a clue what's going wrong
here - like said above, step up in the frame until you get to the point
where it chooses the classname to be loaded - there is some flaw or some
expectation made there which does not fit your environment.

kind regards

Torsten


Mime
View raw message