On 06/07/2020 12:25, Mark Thomas wrote:
> On 03/07/2020 13:40, Vitor Medina Cruz wrote:
>> On Thu, Jul 2, 2020 at 11:21 AM Mark Thomas <ma...@apache.org> wrote:
>>
>>> On 02/07/2020 14:14, Vitor Medina Cruz wrote:
>>>> On Wed, Jul 1, 2020 at 6:48 PM Mark Thomas <ma...@apache.org> wrote:
>>>
>>> <snip/>
>>>
>>>>> @WebFiler, @WebListener and @WebServlet are deployment annotations so
>>>>> scanning for these is controlled by the JarScanner.
>>>>>
>>>>> If an SCI has an @HandlesTypes annotation then all JARs that are
>>>>> potential SCI sources will be scanned for matches. To put it another
>>>>> way, the JarScanner configuration does NOT control the search for
>>>>> @HandlesTypes matches. Any JAR eligible to provide an SCI will be
>>>>> scanned for @HandlesTypes. Those JARs are controlled by
>>> <absolute-ordering>
>>>>>
>>>>
>>>> Ok, and if a jar doesn't provide a web-fragment name? In this old post(
>>>>
>>> http://tomcat.10.x6.nabble.com/Why-does-absolute-ordering-in-web-xml-without-others-kill-classpath-scanning-td5029985.html
>>> )
>>>> it is said :
>>>>
>>>> "Tomcat will give these a name equal to the name of the JAR file so you
>>> can
>>>> use it in ordering. That is a Tomcat specific feature."
>>>>
>>>> This is/holds true? I tried with no success
>>>
>>> It should do. So for foobar-0.3.jar the name should be "foobar-0.3.jar"
>>>
>>>
>> Don't work... :( both in Tomcat 8.5.56 and 9.0.36 I got a "Used a wrong
>> fragment name [flow-server-2.2.1.jar] at web.xml absolute-ordering tag"
> 
> Hmm. Let me look into what is going on here...

My memory and the comment from 2015 were incorrect. It is the full URL
that is used rather than just the name.

While the JAR name should be unique within WEB-INF/lib, the JAR scanning
extends outside of that to include CATALINA_BASE/lib and potentially the
the bootstrap class path. Duplicates can trigger deployment failure -
hence the more cautious approach.

As an example, this is the URL on my system (taken from Tomcat 10.0.x
but the code should be the same in 9.0.x and 8.5.x):

file:/home/mark/repos/asf-tomcat-10.0.x/output/build/webapps/examples/WEB-INF/lib/taglibs-standard-impl-1.2.5-migrated-0.0.1.jar

Rather long for a fragment but it ensures uniqueness.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to