Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #30942

Re: Using jar inside a jar

From Nigel Wade <nmw@ion.le.ac.uk>
Newsgroups comp.lang.java.programmer
Subject Re: Using jar inside a jar
Date 2015-01-28 14:19 +0000
Message-ID <cis9f2F5bdjU1@mid.individual.net> (permalink)
References (7 earlier) <tes3y06oesoz$.941a9ot92oeb$.dlg@40tude.net> <cif8meFn028U1@mid.individual.net> <1gv0s2dwyrhig$.1xbh0tkzetk7s$.dlg@40tude.net> <cimfleFj3pbU1@mid.individual.net> <1spbjvnimz22a.10uhh6y0m6y0c$.dlg@40tude.net>

Show all headers | View raw


On 26/01/15 20:14, Joerg Meier wrote:
> It turns out we really do live in different realities. I completely forgot
> about the strange way Linux handles this,

Strange? You consider good package/library/dependency management to be "strange"?
Maybe it is strange to someone who lives in the Windows world.

> despite administrating a Linux
> server. Linux really is the way you describe, and Windows really is the way
> I describe (the 'fat jar' approach, where you simply can't update
> dependencies). My apologies for being snarky.

That's not what I mean by "fat jar".

Supplying an application with necessary supporting libraries is perfectly reasonable under most circumstances.
A good installer might also check whether those dependencies could already be met on the system without having to 
install them again, but that's another issue.  The fundamental point is the separation of the application and the 
libraries. You could, by judicious administration, update just libraries which you wished to upgrade without having to 
rely on the support of the application developer.

By "fat jar" I mean the idea of supplying everything in a single monolithic application, with all the libraries built 
into it, i.e. in Java terms having all supporting library jars unpacked and re-packaged into the main application jar. 
In this scenario it's next to impossible to upgrade a supporting library in the event that you discover it has some 
major problem without the support of the application developer.

 > For what it's worth, the multitude of available 'fat jar' solutions should
 > be evidence enough that fat jars are a very common path for releasing Java
 > applications to end users.

Which ones? I can't think of any which I have installed.

 > ps.: Interestingly, I always perceived the Linux way as the inferiour
 > solution that is only really convenient for relatively low level computer
 > use by the typical user.


 > As soon as one wants current versions of software,
 > let alone try a beta version, one runs into a nightmarish world of
 > dependency hell, snapshot nonsense, package maintainers and their refusal
 > to cooperate and genrally total dependency on ones distro, whereas on
 > Windows, I'd just click on "Download exe" and be done with it 30 seconds
 > later.

I have exactly the opposite opinion as you with regard to convenience and management.

It's the Windows style of application installation which I think is typical of low level computer expertise, both from 
the developer and the end user. It has been deliberately designed to make it simpler for the general user to install 
software without any understanding or care as to the implications of what that software may do to their system. It 
creates an incoherent mishmash of packages and libraries which the user doesn't understand and can't hope to maintain 
with any level of expectation of good reliability or security. The concept of "just clicking on "Download exe" and be 
done with it 30 seconds later" is exactly why so many Windows computers are "owned".

Installing a current version, or beta, on Linux requires a basic level of expertise necessary to separate the main 
system from the development environment. However, it's that expertise, and separation, which keeps the overall system 
safe from bad/insecure software/malware which blights Windows. And if you want real separation it only takes a few 
minutes to install a new Linux VM from scratch, or just run a VM from a live CD. As compared to the several hours it 
takes to install/upgrade/re-boot/upgrade/re-boot/upgrade/re-boot a new Windows VM.

Horses for courses. If you prefer to be able to just click, download and install any old garbage from the Internet 
that's fine. It's your computer. I'm just glad it's not mine.

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Using jar inside a jar Cecil Westerhof <Cecil@decebal.nl> - 2015-01-22 11:48 +0100
  Re: Using jar inside a jar Nigel Wade <nmw@ion.le.ac.uk> - 2015-01-22 11:28 +0000
    Re: Using jar inside a jar Cecil Westerhof <Cecil@decebal.nl> - 2015-01-22 13:05 +0100
      Re: Using jar inside a jar Joerg Meier <joergmmeier@arcor.de> - 2015-01-22 13:46 +0100
        Re: Using jar inside a jar Jeff Higgins <jeff@invalid.invalid> - 2015-01-22 08:15 -0500
          Re: Using jar inside a jar Joerg Meier <joergmmeier@arcor.de> - 2015-01-22 16:30 +0100
        Re: Using jar inside a jar Nigel Wade <nmw@ion.le.ac.uk> - 2015-01-22 14:18 +0000
          Re: Using jar inside a jar Joerg Meier <joergmmeier@arcor.de> - 2015-01-22 16:29 +0100
            Re: Using jar inside a jar Nigel Wade <nmw@ion.le.ac.uk> - 2015-01-23 11:10 +0000
              Re: Using jar inside a jar Joerg Meier <joergmmeier@arcor.de> - 2015-01-23 13:12 +0100
                Re: Using jar inside a jar Nigel Wade <nmw@ion.le.ac.uk> - 2015-01-23 15:46 +0000
                Re: Using jar inside a jar Eric Sosman <esosman@comcast-dot-net.invalid> - 2015-01-23 11:18 -0500
                Re: Using jar inside a jar Joerg Meier <joergmmeier@arcor.de> - 2015-01-23 22:42 +0100
                Re: Using jar inside a jar Jerry Stuckle <jstucklex@attglobal.net> - 2015-01-23 17:02 -0500
                Re: Using jar inside a jar Joerg Meier <joergmmeier@arcor.de> - 2015-01-24 14:14 +0100
                Re: Using jar inside a jar Martin Gregorie <martin@address-in-sig.invalid> - 2015-01-24 15:33 +0000
                Re: Using jar inside a jar Nigel Wade <nmw@ion.le.ac.uk> - 2015-01-26 09:28 +0000
                Re: Using jar inside a jar Joerg Meier <joergmmeier@arcor.de> - 2015-01-26 21:14 +0100
                Re: Using jar inside a jar Jerry Stuckle <jstucklex@attglobal.net> - 2015-01-26 15:23 -0500
                Re: Using jar inside a jar Nigel Wade <nmw@ion.le.ac.uk> - 2015-01-28 14:19 +0000
              Re: Using jar inside a jar Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2015-01-24 11:46 +0000
        Re: Using jar inside a jar Wayne <nospam@all.invalid> - 2015-01-23 00:47 -0500
        Re: Using jar inside a jar Silvio <silvio@internet.com> - 2015-01-23 12:28 +0100
      Re: Using jar inside a jar Nigel Wade <nmw@ion.le.ac.uk> - 2015-01-22 14:18 +0000

csiph-web