juneau-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: Method 'GET' not found on resource with matching pattern on path '/htdocs/themes/devops.css'.
Date Wed, 12 Dec 2018 21:18:21 GMT
On Wed, Dec 12, 2018 at 2:10 PM Gary Gregory <garydgregory@gmail.com> wrote:

>
>
> On Wed, Dec 12, 2018 at 2:01 PM James Bognar <jamesbognar@apache.org>
> wrote:
>
>> I think you may be hitting a bug I recently found and fixed in
>> ClasspathResourceFinderSimple.  For the LogsResource class, it's only
>> going to look on the classpath at the location
>> "org/apache.juneau/microservice/resource/files/htdocs".
>>
>>
> Is there really a dot in the folder name in "org/*apache.juneau*/microservice/resource/files/htdocs"?
> As opposed to "org/*apache/juneau*/microservice/resource/files/htdocs".
>
> But... if I add the files to my project where /src/main/resources/ is on
> the classpath in Eclipse:
>
>
> /src/main/resources/org/apache/juneau/microservice/resource/files/htdocs/themes/devops.css
>
> /src/main/resources/org/apache/juneau/microservice/resource/files/htdocs/devops.css
>
> The file is still not served.
>
> You are saying that this should work without your fix?
>
> Should I try 7.2.3-SNAPSHOT?
>

Ah, but there is no 7.2.3-SNAPSHOT yet...

Gary


> Gary
>
>
>
>> If you need the files folder to be in the jar, I can fix it in the 7.2
>> branch and cut a 7.2.3 release.  I'll also see if I can reproduce that
>> 500 error.
>>
>> On Wed, Dec 12, 2018 at 3:49 PM James Bognar <jamesbognar@gmail.com>
>> wrote:
>> >
>> > Is that the org.apache.juneau.microservice.resources.LogsResource class?
>> >
>> > A 500 error definitely sounds like something is wrong.  If it can't
>> > find the file, it should be a 404.
>> >
>> > How this works is that the BasicRestConfig interface defines the
>> > following annotation:
>> >    @RestResource(
>> >       staticFiles="$C{REST/staticFiles}"
>> >    )
>> >
>> > Then the config file defines the following:
>> >    [REST]
>> >    # URL mappings to static files in the working directory or classpath.
>> >    staticFiles = htdocs:files/htdocs
>> >
>> > So when a request is sent to /admin/logs/htdocs/..., it gets
>> > intercepted by our resource at /admin/logs which checks to see if the
>> > remainder /htdocs/... matches one of our static file mappings.  If it
>> > does, it tries to find that file in the working directory
>> > "files/htdocs", or in the classpath "files/htdocs".  If it can't find
>> > the file then it should return a 404.
>> >
>> > Out of curiosity, what happens if you place it in the following
>> > location in your classpath?
>> > "org/apache.juneau/microservice/resource/files/htdocs/devops.css"
>> > On Wed, Dec 12, 2018 at 3:36 PM Gary Gregory <garydgregory@gmail.com>
>> wrote:
>> > >
>> > > On Wed, Dec 12, 2018 at 1:35 PM Gary Gregory <garydgregory@gmail.com>
>> wrote:
>> > >>
>> > >> On Wed, Dec 12, 2018 at 1:26 PM Gary Gregory <garydgregory@gmail.com>
>> wrote:
>> > >>>
>> > >>> On Wed, Dec 12, 2018 at 1:08 PM James Bognar <
>> jamesbognar@apache.org> wrote:
>> > >>>>
>> > >>>> Hi Gary,
>> > >>>>
>> > >>>> Two things to check:
>> > >>>> 1) What's the path on the root resource?  Is it "/*"?  If it's
"/",
>> > >>>> then subpaths are not going to be picked up.
>> > >>>
>> > >>>
>> > >>> I have:
>> > >>>
>> > >>> @RestResource(
>> > >>> path="/",
>> > >>> ...
>> > >>>
>> > >>> changing that to "/*" does not help :-( but...
>> > >>>
>> > >>>  2) Make sure you have this /files directory in your working
>> directory:
>> > >>>>
>> > >>>>
>> https://github.com/apache/juneau/tree/juneau-7.2.2/juneau-microservice/juneau-microservice-template/files
>> > >>>> The files were moved outside the classpath to make it easier
to
>> make
>> > >>>> modifications.  They can also be placed in the root of the
jar,
>> but by
>> > >>>> default are being kept outside the jar.
>> > >>>
>> > >>>
>> > >>> If I copy the folders and files from
>> > >>>
>> > >>>
>> https://github.com/apache/juneau/tree/juneau-7.2.2/juneau-microservice/juneau-microservice-template/files
>> > >>>
>> > >>> into my Eclipse/Maven project at
>> > >>>
>> > >>> src/main/resources/com/rs/seagull/httpmonitor/admin/htdocs
>> > >>>
>> > >>> for my @RestResource class
>> com.rs.seagull.httpmonitor.admin.AdminRootResources, then my main page at
>> /admin is now styled (good) but when I click on the built-in "logs" link,
>> then _that_ page is not styled.
>> > >>>
>> > >>> So I copied devops.css to src/main/resources but that does not
help.
>> > >>>
>> > >>> What am I missing?
>> > >>
>> > >>
>> > >> A few more details. I embed Jetty and use a jetty.xml to map /admin
>> to com.rs.seagull.httpmonitor.admin.AdminRootResources
>> > >>
>> > >> For the logs page, the browser requests
>> http://localhost:9193/admin/logs/htdocs/themes/devops.css and does not
>> find it.
>> > >
>> > >
>> > > The server returns a 500 which is odd, as opposed to a 404.
>> > >
>> > > Gary
>> > >
>> > >>
>> > >>
>> > >> Where is logs/htdocs/themes/devops.css supposed to be mapped?
>> > >>
>> > >> Gary
>> > >>
>> > >>>
>> > >>> Thank you,
>> > >>> Gary
>> > >>>
>> > >>>
>> > >>>> On Wed, Dec 12, 2018 at 2:52 PM Gary Gregory <
>> garydgregory@gmail.com> wrote:
>> > >>>> >
>> > >>>> > Hi James and all:
>> > >>>> >
>> > >>>> > We embed juneau-microservice-server 7.2.2 programatically
and
>> when a browser displays a page, it has NO styling and the server console
>> shows:
>> > >>>> >
>> > >>>> > [2018.12.12 12:41:37 WARNING] [4579979f.404.1] HTTP GET
404
>> /admin/htdocs/themes/devops.css, Method 'GET' not found on resource with
>> matching pattern on path '/htdocs/themes/devops.css'.
>> > >>>> >
>> > >>>> > We have a demo upcoming and the lack of styling looks
_really_
>> bad :-(
>> > >>>> >
>> > >>>> > Has something changed since 7.1.0 to cause this? Can I
change
>> _something_ in our server to pickup the stylesheet?
>> > >>>> >
>> > >>>> > For us to revert to 7.1.0 would mean some code changes
:-(
>> > >>>> >
>> > >>>> > Thank you,
>> > >>>> > Gary
>>
>

Mime
View raw message