[ 
https://issues.apache.org/jira/browse/TWILL-182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15424909#comment-15424909
 ] 

ASF GitHub Bot commented on TWILL-182:
--------------------------------------

Github user chtyim commented on the issue:

    https://github.com/apache/twill/pull/1
  
    Actually you don't need to use ASM. You can just create two jars, one 
contains `org/apache/twill/internal/utils/Class1.class`, the other has 
`org/apache/twill/internal/utils/Class2.class`. Then create a `URLClassLoader` 
from that two jars, with `null` as the parent. Then load `Class1` and `Class2` 
from that classloader and provide the both classes to the 
`ApplicationBundler.createBundle` method.


> ApplicationBundler will overwrite dependencies with identical names
> -------------------------------------------------------------------
>
>                 Key: TWILL-182
>                 URL: https://issues.apache.org/jira/browse/TWILL-182
>             Project: Apache Twill
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.7.0-incubating
>            Reporter: Martin Serrano
>             Fix For: 0.8.0
>
>
> If two jars obtained from *different* classpath locations have the same name 
> but different contents, one will overwrite the other.  The dependency code 
> correctly finds the jars (uses the full path in the HashSet which accumulates 
> the deps) but when the bundle is created the jars are written to {{/lib}} 
> under their name.  This results in one overwriting the other.
> While this is not a likely occurrence, it occurs for us in our development 
> environment because our published jar names are built up from their project 
> hierarchy.  For example the model project for our sdk is in {{.../sdk/model}} 
> and will be on the classpath as {{.../sdk/model.jar}} and published as 
> {{sdk-model.jar}}.  
> In practice however this could occur with any jar name and would be more 
> likely over time.
> The {{ApplicationBundler}} could detect this and re-write the name with some 
> part of the path or suffix to ensure the name is unique.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to