I thought I'd take a look at Scala and the Lift Framework. Everything below is running in my Win2K VM with 512MB memory assigned to the VM. My Eclipse Workspase is K:\code.
Prerequisites
- Maven 2.0.7
- unzipped to K:\Maven
- Add M2_HOME=K:\maven to environment
- Create the folder K:\code\.m2\repository
- Create C:\Documents and Settings\<your-ID>\.m2\settings.xml containing:
- <settings>
- <localRepository>K:/code/.m2/repository/</localRepository>
- </settings>
- Ensure your PATH contains C:\Java\bin;C:\Java\jdk\bin;C:\java\jdk\jre\bin;K:\maven\bin;
- Add JAVA_HOME=C:\Java\JDK to environment
- Java EE 5 installed to C:\Java
- Scala 2.6.0-final installed to C:\Scala
- install Eclipse 3.3.0 (Eclipse IDE for Java EE Developers) to K:\eclipse
- Subclipse 1.2.4 (http://subclipse.tigris.org/update_1.2.x)
- Install Maven 2.0 Integration V0.0.11.20070603... (http://m2eclipse.codehaus.org/update/)
- Install Eclipse PDE Plug-in Developer Resources 3.3.1 (The Eclipse Project Updates/Eclipse SDK Eclipse 3.3.1)
- Scala Plug-in (http://scala-lang.org/downloads/scala-plugin)
Basic Setup and Sanity Test
- Using Eclipse SVN support, check-out Lift by right-clicking in the Package Explorer, Selecting Import/Other/Checkout Projects from SVN, repository = http://liftweb.googlecode.com/svn/trunk
- Close Eclipse
- Open a command prompt in K:\code\liftweb
- mvn clean:clean install
- cd example
- mvn jetty:run
- http://localhost:8888
Getting Eclipse to Work Well With Scala
- cmd prompt in K:\
- mvn -Declipse.workspace=K:\code eclipse:add-maven-repo
- cd \code\liftweb
- mvn eclipse:eclipse
- Start Eclipse
- Right-click liftweb, select Build Path/Configure Build Path/Libraries:
- connect each library with a real jar file in the file system
- Add log4j-1.2.12.jar
- Add commons-collections jar
- Add mail jar
- Delete the reference to scala-actors.jar
- Window/Preferences/Run-Debug/String Substitution: Add variable maven_exec=K:\maven\bin\mvn.bat
- Run/External Tools/Open External Tools Dialog. Define the following Maven tasks
- Name=Lift-Clean; Base-Directory=K:\code\liftweb; Goals=clean:clean
- Name=Lift-install; Base-Directory=K:\code\liftweb; Goals=install
- Name=Lift-run-example; Base-Directory=K:\code\liftweb\example; Goals=jetty:run