Can anyone tell me the difference in JDK & SDK?

I believed till now that both term are same.

...but SunMicrosystem tell both are different. (You can find it at Sun's website)

So what is the difference in these two terms?

Dani AI

Generated

Short answer: an SDK (Software Development Kit) is the generic name for a bundle of libraries, APIs, docs and tools for developing on a particular platform; the JDK (Java Development Kit) is Java’s SDK — a concrete distribution that provides the Java runtime plus the development tools to compile, run and debug Java programs. (en.wikipedia.org)

More detail: a typical SDK can include sample code, documentation, platform libraries, emulators, installers and extra tooling. The JDK specifically contains the Java Runtime (JRE/JVM) plus tools such as the compiler (javac), archiver (jar), documentation generator (javadoc), debugger (jdb) and monitoring utilities — in short: JDK = JRE + development tools. That is why javac only appears when a JDK is installed, not with a plain JRE. (openjdk.org)

About the thread replies: was correct in saying the JDK is an SDK. ’s mention of Tomcat is understandable — many vendor “SDK” bundles for enterprise/web development include app servers — but Tomcat itself is a servlet container (runtime), not part of the core JDK. Vendors ship larger Java SDK bundles (for example Java EE SDKs) that include a server (GlassFish), IDEs and samples, which is why some people call those bundles an “SDK” that’s bigger than the plain JDK. (tomcat.apache.org)

Quick practical checks and fixes:

java -version
javac -version

If java works but javac is missing, install the JDK and set JAVA_HOME to the JDK install directory and add its bin to PATH. On Linux/macOS use export JAVA_HOME=... and on Windows set JAVA_HOME (or use setx in PowerShell). The concise rule: use “SDK” when you mean a platform’s development bundle; when the platform is Java, call that bundle the JDK.

Recommended Answers

All 14 Replies

SDK includes things like tomact i think

you're wrong.
Sun's right.

The JDK is an SDK, but an SDK doesn't have to be a JDK.

I agree with jwenting

Nice explanation is here

The JDK is a subset of what is loosely defined as a Software development kit (SDK) in the general sense. In the descriptions which accompany their recent releases for Java SE, EE, and ME, Sun acknowledge that under their terminology, the JDK forms the subset of the SDK which is responsible for the writing and running of Java programs. The remainder of the SDK is composed of extra software, such as Application Servers, Debuggers, and Documentation.

Wikipedia is wrong. A JDK is a full SDK, so it's an implementation of the concept of
"SDK" rather than a subset of it.

Wikipedia is wrong. A JDK is a full SDK, so it's an implementation of the concept of
"SDK" rather than a subset of it.

The wikipedia is selfcorrecting, give it a try.

I know. It's also known to revert corrections back to a state where the article is in error though.
I've pretty much given up trying to correct things for that reason if the correction is more than a single word.

Conceptually, SDK(Software Development Kit) is superset of JDK. It comes with Java Development Kit and additional components like Netbeans IDE which helps to develop software.

jwenting is correct and you can find the same explanation on java.sun.com . . JDK is an SDK. They probably just call it JDK instead for the same reason that so many other things in Java have that J.

Conceptually, SDK(Software Development Kit) is superset of JDK. It comes with Java Development Kit and additional components like Netbeans IDE which helps to develop software.

I agree with Dezno

You might also agree with him if he says 1 + 1 = 3 but that doesn't make it any more true.

finally what's is answer? Fully confusing

see my reply from 27 november 2007...

Please do not resurrect threads that are years old. By doing so you run the risk of confusing current posters. If you have any questions please ask. You are welcome to start your own threads.

Thread Closed.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.