title: JAR vs WAR file specification
body: <p>I noticed that WAR files are supposed to have <code>classes/</code> and <code>lib/</code> directories for containing their classfile root and dependencies, respectively.</p>
  
  <p>I also noticed that it is not common practice for JARs to contain such a <code>lib/</code> directory and to contain their own dependencies.</p>
  
  <p>So now I'm wondering why JARs shouldn't/usually-don't contain their own dependencies, but WAR files are <em>expected</em> to. Unless I'm missing something, both require their dependencies to be on the classpath at runtime (JARs won't run if they're missing dependencies, just like WARs won't run). So to me, all the arguments for putting dependencies in a WAR file also apply to a JAR.</p>
  
  <p>What am I not "getting" here?!?</p>