Differences between revisions 7 and 8
Revision 7 as of 2006-07-19 04:08:03
Size: 5784
Comment:
Revision 8 as of 2007-02-18 06:54:38
Size: 5700
Comment:
Deletions are marked like this. Additions are marked like this.
Line 43: Line 43:
    #python.home=
    python.lib=<pythonHome>\\Lib
    python.exe=<pythonHome>\\

ClarkUpdike, incept: 2005-02-10

Setting up the jython development environment in Eclipse

Eclipse has a plugin to become a SVN client and can be used to get the project from the repository. It takes a few steps to set it up, but seems to work well once you do. Please correct any mistakes. (Works for Eclipse 3.1-3.2)

Installing the Subclipse plugin

Checking out the Jython project

  • Switch to SVN Repository Exploring perspective
  • Add a new SVN repository, URL: https://svn.sourceforge.net/svnroot/jython

  • Select trunk/jython or branches/2.3 depending on your development desires from the repository tree and Checkout the project using the New Project Wizard.
  • Set up source folders for the project
    • You only want the com and org folders under <yourProjectName> to be set as source folder, otherwise things will be messy. To do this, set up Include filters:

    • Access the properties of <yourProjectName> (Right-click on the project and select Properties)

    • Click on Java Build Path and select the Source tab

    • Leave only <yourProjectName>/src on the build path

    • Set the Default output folder to <yourProjectName>/build This means Ant won't have to rebuild the compiles Eclipse makes.

    • Click ok, and check for a few files that won't compile if you don't have the appropriate jars. Unless you're working on them you can just right click on those files, go to Build Path and exclude them.
      • org.python.util.PyServlet depends on the servlet api jar

      • org.python.util.ReadlineConsole depends on the java-readline jar

      • com.ziclix.python.sql.handler depends on various db jars so I just exclude that package altogether.

Building the project using ANT

Anchor(ANT) At this point, you should be able to build the project using Eclipse's Java Builder. This will only compile the classes though --you'll want to use <yourProjectName>/build.xml to get the full ant build. To do this:

  • First, set up an ant.properties file to supply "parameters" to build.xml

    • Put the file directly under <yourProjectName>/. It seems like it must be in the same directory as build.xml. Eclipse seems to let you specify other locations, but I couldn't ever get it to work unless it was right along side build.xml. If anyone knows why, please add details.

    • Put in info such as

    build.compiler=modern
    debug=false
    #debuglevel=lines,vars,source
    optimize=false

    #javaccHome=/Users/bzimmer/Library/Java/Extras/javacc-3.2

    ht2html.dir=

    ### zxJDBC ###
    #oracle.jar=
    #mysql.jar=/Users/bzimmer/Library/Java/Extras/mysql-connector-java-3.1.6-bin.jar
    #informix.jar=
    #postgresql.jar=/Users/bzimmer/Library/Java/Extras/pg74.215.jdbc2.jar
    #jdbc.jar=
    #servlet.jar=
  • I left stuff commented out, but you can see how you can add jars, etc. using this file.
  • Navigate to build.xml and Right-Click and select Run | External Tools.

  • Select New and on the Main tab

    • For Buildfile:, the default of ${workspace_loc:/<yourProjectName>/build.xml} should be fine

    • For Base Directory:, click Browse Workspace and navigate to the <yourProjectName> directory and select it

    • Click on the Properties tab

    • Unselect the Use global properties as specified... check box

    • Click the Add External button and navigate to and select <yourProjectName>/ant.properties

    • Select Apply and Run

A successful build should output something like the following:

Buildfile: c:\workspace\JythonTip\jython\build.xml
init:
     [echo] --- Build environment for jython ---
     [echo] --- Flags (Note: If the {property name} is displayed,
     [echo] --- then the component is not present)
     [echo] --- Optional Libraries ---
     [echo] java2 coll  = true
     [echo] servlet     = ${servlet.present}
     [echo] readline    = ${readline.present}
     [echo] oracle      = ${oracle.present}
     [echo] informix    = ${informix.present}
     [echo] mysql       = ${mysql.present}
     [echo] postgresql  = ${postgresql.present}
     [echo] jndi        = true
     [echo] jdbc        = true
     [echo] jdbc3.0     = true
dist-prepare:
prepare:
parser:
compile:
jar:
   [delete] Deleting: C:\workspace\JythonTip\jython\build\mainClass.mf
copy-xml:
copy-dist:
BUILD SUCCESSFUL
Total time: 2 seconds

Note that this sample was actually a re-build, so it didn't do that much (you'll see more output on the first build) and ran pretty fast (2 seconds). Also, note that I did not link in the optional "user-supply-able" jars. To do so, just add those entries to your ant.properties (look for the placeholders).

Also, you can specify the ant targets that you want to run using the Targets tab under External Tools dialog. For example, the copy-dist seems to run by default. To force a full build, check the all target.

And here is a [wiki:/JythonDeveloperGuide sample batch file (windows)] that runs the eclipse-built jython.jar If you set the default output directory to build in the Build Path setup, you can replace the jython.jar in your script with the path to build. That means after running the initial Ant build you can just rerun your Jython script and it will reflect the latest changes you've made to the java code.

JythonDeveloperGuide/EclipseNotes (last edited 2012-06-03 22:23:41 by JeffAllen)