Reading specification of getResource() ...

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html#getResource(java.lang.String)

"Finds the resource with the given name. A resource is some data (images, audio, text, etc) that can be accessed by class code in a way that is independent of the location of the code."

What I am seeing here is that getResource(java.lang.String) on a "directory" contained in a jar file, will result in "null" (on OC4J 9.0.4/10.1.2.xxx). Does this mean that Oracle has taken spec very strictly and doesn't "allow" directories being "get" like this?

-J.

Jesse Kuhnert wrote:
I'm not sure. Only the wonderful oracle java developers know for sure I'm
guessing.

You can try messing with that or searching oracle related things for
configuring / changing the classloader settings. Tapestry will ultimately defer class (and class resource) resolution up to whatever class loader it
is running in - so it clearly has to be something oracle is f$#-ing up -
again.

On 5/30/07, Jan Vissers <[EMAIL PROTECTED]> wrote:

The ClassLoader held by org.apache.hivemind.impl.DefaultClassResolver
has this:

[ClassLoader:
[[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\classes],
[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\lib\backport-util-concurrent-4.1.1.jar
archive],
[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\lib\commons-codec-1.3.jar
archive],
[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\lib\commons-io-1.3.1.jar
archive],
[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\lib\commons-lang-2.2.jar
archive],
[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\lib\commons-logging-1.0.3.jar
archive],
[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\lib\hivemind-lib-1.1.1.jar
archive],
[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\lib\hivemind-oc4j-1.1.1.jar
archive],
[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\lib\jakarta-oro-2.0.8.jar
archive],
[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\lib\javassist-3.0.jar
archive],
[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\lib\ognl-2.6.9.jar
archive],
[D:\ora\ocj10_1_2_0_2\j2ee\home\applications\eva\eva-
web-1.0.0\WEB-INF\lib\tapestry-framework-4.1.1.jar
archive]]]

'/dojo/' is in tapestry-framework-4.1.1.jar - maybe I am missing some
basic understanding here, but
why the hell is '/dojo' not found?

-J.


Jan Vissers wrote:
> Well - okay then...
> let me rephrase my question - is there any known record of people
> using T4.1.1 on OC4J 9.0.4 or OC4J 10.1.2.xxx
>
> Thx,
> -J.
>
> Jesse Kuhnert wrote:
>> Yep.  Sounds like oracle is messing with your classloader.   I love
>> oracle
>> java software.  I love oracle java software.
>>
>> On 5/30/07, Jan Vissers <[EMAIL PROTECTED]> wrote:
>>>
>>> Digging deeper, and deeper...
>>>
>>> In "DefaultClassResolver" this method:
>>>
>>> public URL getResource(String name)
>>>     {
>>>         String stripped = removeLeadingSlash(name);
>>>
>>>         URL result = _loader.getResource(stripped);
>>>
>>>         return result;
>>>     }
>>>
>>> returns "null" for 'dojo/' ...
>>> smells like a class loading issue, doesn't it....
>>>
>>> any ideas?
>>> -J.
>>>
>>> Jan Vissers wrote:
>>> > Checking the (Tapestry) code:
>>> >
>>> > public IAsset createAbsoluteAsset(String path, Locale locale,
>>> Location
>>> > location)
>>> >    {
>>> > Resource base = new ClasspathResource(_classResolver, path);
>>> >        Resource localized = _localizer.findLocalization(base,
>>> locale);
>>> >
>>> >        if (localized == null)
>>> >            throw new
>>> > ApplicationRuntimeException(AssetMessages.missingClasspathResource
>>> (path),
>>> >                    location, null);
>>> >
>>> >        return createAsset(localized, location);
>>> >    }
>>> >
>>> > _localizer.findLocalization(base, locale);
>>> > Returns "null" for '/dojo' ... why would this happen?
>>> >
>>> > Thanks,
>>> > -J.
>>> >
>>> > Jan Vissers wrote:
>>> >> Hi,
>>> >>
>>> >> I'm starting a new project for a customer of ours and want to use
>>> >> Tapestry 4.1.1 on Oracle's J2EE container - OC4J.
>>> >> Having tested various aspects of this T version on 10.1.3 - I'm
>>> >> pretty keen on using this version, however there are issues...
>>> >>
>>> >> Firstly I ran into a known issue with Hivemind's URLResource
>>> class on
>>> >> OC4J 9.0.4/10.1.2.xxx.
>>> >> I used a proposed hack to fix this issue. But now when I drop a
>>> Shell
>>> >> component on a form, I get this error:
>>> >>
>>> >> Caused by: org.apache.hivemind.ApplicationRuntimeException: Missing
>>> >> classpath resource '/dojo/'.
>>> >> [classpath:/org/apache/tapestry/html/Shell.jwc, line 179, column
61]
>>> >>     at
>>> >> org.apache.tapestry.asset.ClasspathAssetFactory.createAbsoluteAsset
(
>>> ClasspathAssetFactory.java:61)
>>> >>
>>> >>     at
>>> >>
>>>
$AssetFactory_112dd0124f3.createAbsoluteAsset($AssetFactory_112dd0124f3.java)
>>>
>>> >>
>>> >>     at
>>> >> org.apache.tapestry.asset.AssetSourceImpl.findAsset(
>>> AssetSourceImpl.java:84)
>>> >>
>>> >>     at
>>> $AssetSource_112dd0124a7.findAsset($AssetSource_112dd0124a7.java)
>>> >>     at
>>> >> org.apache.tapestry.pageload.PageLoader.convertAsset(
PageLoader.java
>>> :695)
>>> >>
>>> >>     at
>>> >>
>>> org.apache.tapestry.pageload.PageLoader.addAssets(PageLoader.java:670)
>>> >>     at
>>> >> org.apache.tapestry.pageload.PageLoader.constructComponent(
>>> PageLoader.java:415)
>>> >>
>>> >>     at
>>> >> org.apache.tapestry.pageload.PageLoader.createImplicitComponent(
>>> PageLoader.java:478)
>>> >>
>>> >>     at
>>> >>
>>>
$IPageLoader_112dd0124a3.createImplicitComponent($IPageLoader_112dd0124a3.java)
>>>
>>> >>
>>> >>     at
>>> >>
>>>
$IPageLoader_112dd0124a4.createImplicitComponent($IPageLoader_112dd0124a4.java)
>>>
>>> >>
>>> >>     at
>>> >>
>>>
org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.createImplicitComponent
>>>
>>> (ComponentTemplateLoaderLogic.java:218)
>>> >>
>>> >>     at
>>> >>
>>> org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process
(
>>> ComponentTemplateLoaderLogic.java:172)
>>> >>
>>> >>     at
>>> >>
>>> org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process
(
>>> ComponentTemplateLoaderLogic.java:111)
>>> >>
>>> >>     at
>>> >>
>>>
org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.loadTemplate
>>>
>>> (ComponentTemplateLoaderLogic.java:88)
>>> >>
>>> >>     at
>>> >>
>>>
org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate
>>>
>>> (ComponentTemplateLoaderImpl.java:61)
>>> >>
>>> >>     at
>>> >>
>>>
$ComponentTemplateLoader_112dd0124ad.loadTemplate($ComponentTemplateLoader_112dd0124ad.java)
>>>
>>> >>
>>> >>     at
>>> >> org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent(
>>> PageLoader.java:637)
>>> >>
>>> >>     at
>>> >>
>>> org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77)
>>> >>     at
>>> >> org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java
:107)
>>> >>     at $Exception_5.finishLoad($Exception_5.java)
>>> >>     at
>>> >> org.apache.tapestry.pageload.PageLoader.constructComponent(
>>> PageLoader.java:425)
>>> >>
>>> >>     at
>>> >>
>>> org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:600)
>>> >>     at
>>> $IPageLoader_112dd0124a3.loadPage($IPageLoader_112dd0124a3.java)
>>> >>     at
>>> $IPageLoader_112dd0124a4.loadPage($IPageLoader_112dd0124a4.java)
>>> >>     at
>>> >> org.apache.tapestry.pageload.PageSource.getPage(PageSource.java
:119)
>>> >>     at
>>> $IPageSource_112dd012406.getPage($IPageSource_112dd012406.java)
>>> >>     at
>>> >>
>>> org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java
:248)
>>> >>     at
>>> >>
>>> org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:235)
>>> >>     at
>>> >> org.apache.tapestry.error.ExceptionPresenterImpl.presentException(
>>> ExceptionPresenterImpl.java:42)
>>> >>
>>> >>     ... 30 more
>>> >>
>>> >>
>>> >> Can somebody enlighten me what's wrong here and whether or not this
>>> >> is a known issue?
>>> >> I sure as ***** hope I don't have to hack my way around this
>>> >> (probably Oracle related) issue also...
>>> >>
>>> >> Thanks,
>>> >> -J.
>>> >>
>>> >>
>>> >>
>>> ---------------------------------------------------------------------
>>> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> >> For additional commands, e-mail: [EMAIL PROTECTED]
>>> >>
>>> >>
>>> >>
>>> >
>>>
>>> --
>>> Cumquat Information Technology
>>> De Dreef 19
>>> 3706 BR Zeist
>>> T +31 (0)30 - 6940490
>>> F +31 (0)30 - 6940499
>>> W http://www.cumquat.nl
>>>
>>> E [EMAIL PROTECTED]
>>> M +31 6 51 169 556
>>> B http://www.cumquat.nl/technology_atom10.xml
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>>
>

--
Cumquat Information Technology
De Dreef 19
3706 BR Zeist
T +31 (0)30 - 6940490
F +31 (0)30 - 6940499
W http://www.cumquat.nl

E [EMAIL PROTECTED]
M +31 6 51 169 556
B http://www.cumquat.nl/technology_atom10.xml



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Cumquat Information Technology
De Dreef 19
3706 BR Zeist
T +31 (0)30 - 6940490
F +31 (0)30 - 6940499
W http://www.cumquat.nl

E [EMAIL PROTECTED]
M +31 6 51 169 556
B http://www.cumquat.nl/technology_atom10.xml



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to