[rhelv6-list] jar command for .war archives missing from JDK
MJang
mike at linuxexam.com
Wed Dec 12 04:09:19 UTC 2012
On Tue, 2012-12-11 at 21:46 -0500, Bryan J Smith wrote:
> On Tue, Dec 11, 2012 at 7:19 PM, MJang <mike at linuxexam.com> wrote:
> > Folks,
> > I've been working with some .war archives, and wanted to use the jar command
> > to unpack, modify, and repack them. My understanding is that the jar command
> > should exist in an appropriate JDK RPM.
> > So I installed the java-1.6.0-openjdk RPM. The jar command isn't there. I
> > didn't see it in the java-1.7.0-openjdk RPM either (at least as built for
> > CentOS 6.2).
> > I found the jar command in the JDK RPM downloaded from Oracle/Sun, but that
> > made me wonder -- is the jar command available from any Red Hat native RPM?
> > Did I miss something?
>
> Yes.
>
> o Short Answer
>
> Install "java-1.6.0-openjdk-devel" (note the "-devel" at the end)
>
> o Details ...
>
> Per Koji [1], you'll note the common JPackage Project [2] nomenclature ...
>
> java-(version)-(distribution)[-(subpackage)]
Fantastic answer, thank you. java-1.6.0-openjdk-devel actually exists in
the CentOS repos. When I saw JDK, it didn't occur to me that there'd
have to be a separate -devel package for something named "development
kit".
Thanks,
Mike
>
> The common subpackages are ...
>
> [-none] = JRE
> -demo = Demo programs
> -devel = JDK
> -javadoc = Documentation
> -src = Source Code
>
> Which means for OpenJDK 1.6.0, respectively ...
>
> java-1.6.0-openjdk <== Only contains the run-time
> java-1.6.0-openjdk-demo
> java-1.6.0-openjdk-devel <== JDK, this is what you're looking for
> java-1.6.0-openjdk-javadoc
> java-1.6.0-openjdk-src
>
> If the "openjdk" distribution seems like it should mean JDK,
> understand this is, again, JPackage Project subpackage nomenclature.
>
> E.g., since you mention CentOS, then you're only getting OpenJDK in
> the main channel. But if you have a Red Hat Enterprise subscription,
> you'll have the child channel "Supplementary." This channel is
> "special" in that Red Hat does not provide the software, but it is
> provided so ISVs can leverage RHN/Portal to distribute packages (long
> story, I won't try to explain further). So you would have packages
> such as ...
>
> java-1.6.0-ibm
> java-1.6.0-ibm-devel
> ...
> java-1.6.0-sun
> java-1.6.0-sun-devel
> ...
>
> Sun is now Oracle, and package names may change based on release date
> (let alone the Java from BEA several years back as well). The
> "openjdk" is just the distribution label, like "ibm" and "sun"
> ("oracle"). Remember, not all systems would want the full JDK, and
> only need the run-time, hence why the SPEC products sub-packages. No
> difference than typical RPM "-devel" packages as well (some are just
> header files, and others are far more support, binaries, etc..).
>
> Now even though you run CentOS, if you have the Sun-Oracle binary, you
> can use the SRPMS/SPEC file from the JPackage Project to produce the
> same subpackages. I've done this on several occasions, although for
> ISV certification on Red Hat, you might want to stick with the ones in
> Supplementary.
>
> -- bjs
>
> P.S. The one subpackage that differs between ISVs and OpenJDK is the
> browser plug-in. Long story short, the source code provided for
> OpenJDK from Sun-Oracle doesn't exactly cover the browser plug-in (I
> won't try to go into more details). So for most ISVs, you'll have the
> subpackage "-plugin" while for OpenJDK, it's a separate package,
> "icedtea-web" [3].
>
> [1] http://koji.fedoraproject.org/koji/buildinfo?buildID=360484
> (latest OpenJDK 1.6.0)
> [2] http://www.jpackage.org/
> [3] http://koji.fedoraproject.org/koji/packageinfo?packageID=11822
>
>
> --
> Bryan J Smith - Professional, Technical Annoyance
> b.j.smith at ieee.org - http://www.linkedin.com/in/bjsmith
> ----------------------------------------------------------
> Computers are precise, but not accurate, and make mistakes
> due to lack of input, as lack of awareness and observation
More information about the rhelv6-list
mailing list