Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In Ubuntu it is called openjdk-11-jre and openjdk-11-jdk. With headless variants.

I am no system admin and the -dev or -devel convention suits the Unix and C world but maybe not the JVM or .net or nodejs worlds with their own standards and package managers.



How so? `java` is the JRE. `javac` is the JDK. `mono` (I forget the .NET Core executable name) is the runtime, `mcs` is the development tool. Node or Ruby or Python all have similar splits, too. Yes, they're interpreters, but you generally need the `-dev`/`-devel` package to compile things against your runtime there, too. Their package managers are orthogonal to this (but a failed Ruby build, as an example, will often tell you you need development packages for a library).

It's not about being a system administrator, it's about understanding what the things you're installing actually do. You need development packages to develop against, rather than consume, a package. I don't understand the criticism you're making here.


Yes you are right.

But as a Java developer I know and I care about the terms JRE and JDK that are used officially and on Windows and many Linux systems and MacOS. I was not aware of the Fedora package conventions.

And as I already wrote, I had most likely installed jdk-devel because, I guess, it is listed in yum and DNF-dragora. Maybe it was a bug in some Fedora related package tool. DNF-dragora had double entries for Java. Unfortunately I do not remember anymore the details.

Someone replied this to me: "This is a fairly trivial problem to work around, although maybe this should be one of those "sane default" kind of things. Set the environment variable JAVA_HOME=/etc/alternatives/jre or point it at the specific OpenJDK version you want. That's what /etc/alternatives is for."

I guess that is way I tried "alternatives --config java" at the time.


I might be wrong but my mind associates -dev and -devel packages with something that is provided for developers of the package itself, e.g., kernel-devel allows you to compile the kernel. I'm not going to contribute to OpenJDK project so why would I need openjdk-devel package?


Good point, java-devel sounds like C++ headers and libraries and not like Java.

I do not contribute to the OpenJDK project or to the JVM either.

There are standard packages in the Java world: JRE (users) and JDK (java programmers).

The JDK is a standard set of tools and libraries related to using Java as program language. It is not a Linux distro or JDK distro specific set of libraries.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: