Hi,
I am building my web module with maven. It contains embedded Jetty
jars with JSP support from Apache. So with assembly maven plugin I
create ZIP with all needed dependencies. But there is one catch - in
my distribution there are 2 jars that have the same artifactId name:
-- org.eclipse.jetty:apache-jsp:9.2.10.v20150310
-- org.mortbay.jasper:apache-jsp:8.0.9.M3
First module depends on the second one. In my assembly descriptor we
create lib folder with short library names:
${artifact.artifactId}-${artifact.extension}. This leads to
collision and one jar is not added to result ZIP:
[INFO] --- maven-assembly-plugin:2.2:single (make-assembly) @
webviewer ---
[INFO] webviewer/lib/apache-jsp.jar already added,
skipping
[INFO] Building zip:
...\trunk\web\webviewer\target\webviewer.zip
[INFO] webviewer/lib/apache-jsp.jar already added,
skipping
I know that I can work around this problem by using full name with
group Id and version, but this way jar names can get rather lengthy.
Default maven naming scheme includes only artifact name and version.
It can happen that both Apache and Jetty versions collide in future
thus resulting in easy to miss build warnings and obscure runtime
errors.
So I have a question - was this name collision done on purpose or I
can submit change request to rename the module?
I could find only this link -
http://dev.eclipse.org/mhonarc/lists/jetty-users/msg04638.html -
where adding of the new module was described, but I am not sure that
the same artifact naming is really needed (in maven all coordinates
have to include both group and artifact.)
--
Regards,
Alexander Ekushev
|