[ 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)