Search code examples
javajavacorg.json

Where do java packages live on a linux system? Package org.json does not exist Error using javac


I am trying to compile a library I wrote, using javac and I am getting the error: package org.json does not exist. My program includes org.json.JSONArray and org.json.JSONException.

I have this package installed on my computer because I have successfully compiled android apps that import org.json libraries. I'm pretty sure all I have to do is specify a -classpath but I have been unable to find where these files live on my system (ubuntu 10.10 64-bit sun-java6).

Having been unable to find these on my own system I downloaded the org.json files from here, but I was unable to compile them individually because they were co-dependent on each other.

So I have a couple questions:

  1. Does anyone know where the org.json package lives from android sdk install?
  2. Where might I find a tutorial explaining these basic concepts regarding compiling, and javac.

Solution

  • Wherever you like. What you need to do is examine your CLASSPATH variable, and make sure it includes the directory with your library.

    Here's the first thing:

      $ echo $CLASSPATH
    

    and you'll see your classpath as it is.

    Now you need to find the jar file containing the org.json; consult the documentation, but it may be something as simple as json.jar. On most LINUX systems you can then just run

     $ locate json.jar
    

    And you'll get a path name for the jarfile. Make sure that path is part of your CLASSPATH and you'll be in fat city.

    Oh, and the "Getting started" tutorials at Sun Oracle are the easiest place to start.


    Actually, having looked at the files, they may not be packaged as a jar file. In that case, you want to put them into your sources starting at some top directory (src in this example.)

       /src
           /org/json/ ... put the json files here
           ... put your files here
    

    and when you compile, they'll all be included, which will resolve all the dependencies.

    Again, the place to look for first steps is that tutorial.