soonyoung / memcached-session-manager

Automatically exported from code.google.com/p/memcached-session-manager
0 stars 0 forks source link

package split between memcached session manager jars #121

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. classes of the same package are located in 2 jars 
(memcached-session-manager-1.6.0.jar and 
memcached-session-manager-tc6-1.6.0.jar)
2. in case of Java EE serveur (OSGi based like Glassfish or JOnAS), those jars 
are installed as bundles. The problem is that the bundle process export only 
one package
3. then a java.lang.NoClassDefFoundError occurs at deployment 
(de.javakaffee.web.msm.MemcachedSessionService$SessionManager not found by 
memcached-session-manager-tc6-1.6.0 -bundle !-)

What is the expected output? What do you see instead?
is it possible to merge the 2 jars in one

What version of the product are you using? On what operating system?
1.6.0 

Please provide any additional information below.

Original issue reported on code.google.com by guy.vac...@gmail.com on 16 Feb 2012 at 4:54

GoogleCodeExporter commented 9 years ago
I'll see if I can package the classes from core into tc6/tc7 jars.

Original comment by martin.grotzke on 17 Feb 2012 at 2:49

GoogleCodeExporter commented 9 years ago
Martin suggested 
(https://groups.google.com/d/msg/memcached-session-manager/67O-vjy6Mtk/2G_QUVW-S
OcJ) this may be resolvable via the use of the Maven Shade plugin 
http://maven.apache.org/plugins/maven-shade-plugin/

The Maven Assembly plugin might also do the trick 
http://maven.apache.org/plugins/maven-assembly-plugin/

Original comment by mikenere...@gmail.com on 13 Jun 2012 at 2:22

GoogleCodeExporter commented 9 years ago
For clarification, the current packaging requires that

"Independent of the chosen serialization strategy you always need the 
memcached-session-manager-${version}.jar and either 
memcached-session-manager-tc6-${version}.jar for tomcat6 or 
memcached-session-manager-tc7-${version}.jar for tomcat7."

Is the goal that we only need to include tc6 or tc7 OR is the goal that we 
still need both, but that no overlapping classes exist in tc6 or tc7?

Original comment by mikenere...@gmail.com on 13 Jun 2012 at 2:30

GoogleCodeExporter commented 9 years ago
I think the easiest would be to have only tc6/tc7 jars.

This is easier as it does not need code changes but only some pom configuration 
and it's also easier for users as they have to manage 1 jar less.

We could even pull the spymemcached jar into the shaded one (with the 
disadvantage that users cannot update spymemcached jar independently from msm).

Original comment by martin.grotzke on 13 Jun 2012 at 3:05