Can you explain how  jarfile3.jar gets turned into jarfile-3.x.x?

Lots of jar file names have numbers as the last character without that character getting turned into a version in Nexus.

I can see how it would get loaded into Nexus as jarfile3-1.0.0 but not jarfile-3.1.0.0

Getting rid of the version number at the end of the file name at build time is an easier task that changing the name.

Ron



On 08/06/2015 12:44 PM, Curtis Rueden wrote:
Hi Thomas,

it's name cannot be changed because during runtime it is checked and
if changed a runtime exception is thrown
IMHO, the fact that your third party JAR does that is incredibly terrible.

Yes, we could change the code with the filename check. But I'm loath
to do it since it is a 3rd party jar file and we had to do this every
time a new version is released...
One "big hammer" way to work around this, and other horrible third party
behaviors, is bytecode manipulation using a library such as Javassist or
ASM. Also called "runtime patching," you can make a surgical change to the
stupid exception thrown by the 3rd party library, which will be resistant
to future upgrades of that library. It does require careful use of
ClassLoaders, though. It would be much more ideal to work with the upstream
vendor/developers to fix the problem there.

Regards,
Curtis

On Mon, Jun 8, 2015 at 8:10 AM, Thomas Klöber <
[email protected]> wrote:

Hi Karl Heinz,

thanks for your answer.

Yes, we could change the code with the filename check. But I'm loath to do
it since it is a 3rd party jar file and we had to do this every time a new
version is released...

I'm just surprised that there is no other way or means to tell Maven that
a different naming scheme should be used...

Deployment at customer site is no problem, the nexus and naming issue only
affects us during development.


-----Ursprüngliche Nachricht-----
Von: Karl Heinz Marbaise [mailto:[email protected]]
Gesendet: Freitag, 5. Juni 2015 14:34
An: Maven Users List
Betreff: Re: Help needed with a strange fixed filename

Hi Thomas,


That the file is names in Nexus is the default naming schema within a
maven repository so there is no chance to change it.

So first question: Why not changing the code which checks the filename
and follow the naming convention..?

What you can do is to get the appropriate artifact via plugin (like
maven-dependency-plugin) and rename it during the packaging of your
distribution archive (which i assume you have?) Or are we talking about
an EAR file?




On 6/5/15 1:58 PM, Thomas Klöber wrote:
Hi folks'es,

I am having some problems, getting an external jar-file into my Maven
project.
Here is the issue:

·         the jar file has a fixed name, lets say jarfile3.jar (digit 3
is important!)
·         it's name cannot be changed because during runtime it is
checked and if changed a runtime exception is thrown
·          if I create an artefact for it in my nexus, the file name is
changed to jarfile-3.x.x
·         adding this to my pom.xml as a dependency everything builds
just fine
·         however, if I run my application now, it falls over with the
above runtime exception
What would be the best way of incoorporating an external jar into my
project without having hard-coded pathnames?
We are using Eclipse Kepler as IDE and Maven 3

Thanks,
_________________________________
SecurIntegration
Thomas Klöber
Software Engineer
Rösrather Str. 702
51107 Köln
Fon: +49 (221) 71 99 00-0
Fax: +49 (221) 71 99 00-23

www.SecurIntegration.com<http://www.SecurIntegration.com>

Amtsgericht Köln HRB 35063
Geschäftsführer: Guido Schneider

Determine your actual SAP license needs<
http://www.securintegration.com/slc>

Kind regards
Karl Heinz Marbaise

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




--
Ron Wheeler
President
Artifact Software Inc
email: [email protected]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to