|
This section details how to setup project in order to have a fully integrated environment with svn, maven, eclipse, tomcat, etc. Compile IgenkoRequirementsStep to step process- Flex compiler mojo require quite a lot of memory, so configure Maven for that by setting the following environment variable :
MAVEN_OPTS=-Xmx512M - On your local mysql server, create an igenko and a igenko_jbpm_loc database, with matching users.
- Edit the igenko/src/main/filters/local.properties file to match your environment parameters (database connection parameters for example).
- In command line, go to Igenko root directory, and run the following command :
mvn -Denv=local install - If everything is allright, unit tests should run and Maven should diplay a build successfull on the cmd output.
Setup Development environmentDevelopment without Flex builder is possible as we use Maven to build our Flex projects. Anyway, it is difficult to develop without it, so following instructions will be Flex Builder based. RequirementsStep to step process- In Eclipse, go to Window -> Preference -> Maven -> Installations -> Add and choose Maven home directory. Select this external Maven installation by default like bellow :
- In Eclipse, go to the menu File -> Import -> General -> Maven project :
- Select the Igenko root directory
- Uncheck igenko-client projects
- Set env-local profile
- Click on finish
- A this step, imported projects should build without errors. If there are problems, check the detailed error messages in the problems view.
- Go to menu Window -> Preferences -> General -> Workspace -> Linked resources, and create IGENKO_ROOT linked to the igenko root folder (usually c:\workspace\igenko), and click on OK.
- Return to the menu File -> Import -> General -> Existing projects into workspace -> Browse to the igenko-client directory, and click on Finish.
- Click on Windows -> Show view -> Ant, ant drag and drop the build.xml file located at the root of igenko project to the ant view
- Run the "1-full" ant target
- We are now going to create the Tomcat server instance. Display the servers view by going to Window -> Show view -> Other -> Servers. Right click on it and create a new Server. Selection our Tomcat home, and create an empty Server with no configured project in it (we are going to add our web projects as external modules).
- Right click on your Tomcat server project and click on Open. Select the module tab, and click on "Add External Web Module ..." Add the following web applications :
- Webapp Igenko Backoffice
- Document base : igenko/igenko-server/igenko-backoffice-server/target/igenko-bo
- Path : /igenko-bo
- Auto-reloading : unchecked
- Webapp Igenko website
- Document base : igenko/igenko-server/igenko-website-server/target/igenko-website
- Path : /igenko-website
- Auto-reloading : unchecked
- Launch tomcat, usually in debug mode, and beggin to test and contribute !
- When debugging, you will have to attach Java projects (igenko-core for example) in order to make Eclipse debugger to find your code
- Use ant targets to develop efficiently, and don't hesitate to create new ones !
Install JCR PluginJCR plugin is really usefull to view and modify JCR as you do for a database wih tools like Mysql Query browser for example. To use it with Igenko : - Install it from http://www.day.com/eclipse/. You should select :
- Java Content Repository
- CRX Feature for Eclipse
- Restart Eclipse
- Add the following Eclipse views (menu Windows -> show view -> other) :
- JCR Repository (the first one) : node hierarchy
- Properties : node and property values
- Launch Igenko Server webapp in Tomcat
- Create a RMI connection on //:1099/jackrabbit with the following login/password : superuser/superuser
- Browse node and view values in the General Properties view
|
To debug Igenko Flex front-end in Flex Builder 3, you don't have to go thru the exact steps required by Flex Builder:link project to a server-config.xml, use network for compiling, use HTML wrapper... Since Igenko development snapshot builds Flex with debugging metadata enabled, all you need to do right now are: 1. In URL for path to Launch in the Debug config panel: uncheck "Use defaults", fill in 'http://localhost:8080/igenko-bo/Index.swf" for all Debug, Profile and Run parameter. 2. Install a debug-enabled flash player for your browser: Firefox: http://download.macromedia.com/pub/flashplayer/updaters/9/flashplayer_9_plugin_debug.exe
IE: http://download.macromedia.com/pub/flashplayer/updaters/9/sa_flashplayer_9_debug.exe
Then just set breakpoints and hit run, the debugger will automatically launch your default web browser to Index.swf and you're ready to debug!
i am trying to setup igenko project following the above steps but i am having 3 problems 1. Doing a mvn install i get these two compiling errors ERROR?E:\igenko\igenko-client\igenko-commons-client\src\main\flex\org\igenko\service\workflow\domain\model\WorkflowTaskState?.as:14,44? The definition of base class Enum was not found. public class WorkflowTaskState? extends Enum { ERROR? E:\igenko\igenko-client\igenko-commons-client\src\main\flex\org\igenko\service\workflow\domain\model\WorkflowTaskState?.as:23,37? Method marked override must override another method. override protected function getConstants():Array {
2. My profiles.xml contains, as my project is inside E:/igenko, i hope this is correct. <mvn.site>file://E:/igenko</mvn.site> <tomcat.manager.url>http://localhost:8080/manager</tomcat.manager.url> <jcr.home.main>E:/igenko/igenko-core/target</jcr.home.main>
Trunk currently doesn't build and run because of massive recent refactoring.
I will try to fix this as soon as possible (this night or next tuesday).
For the moment, I advise you to try the revision 770 that should compile and run fine.
Trunk should now be fixed
hi today i tried again this time i was able to build the project successfully though by skipping tests. It generates the war file also igenko-bo.war but while deploying it throws errors and i get HTTP Status 404 error. Basically i am getting bean creation error such as repository, jcrSessionFactory, jcrTransactionFactory Caused by: java.lang.NoClassDefFoundError?: org/apache/jackrabbit/commons/AbstractRepository?. The war file generated looks correct and has all the jars in lib folder. not sure what's the issue now.
'code' Caused by: org.springframework.beans.factory.BeanCreationException?: Error creating bean with name 'repository' defined in URL jar:file:/E:/programs/apache-tomcat-5.5.25/webapps/igenko-bo/WEB-INF/lib/igenko-core-0.5.0-SNAPSHOT.jar!/appCtxJcr.xml?: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError?: org/apache/jackrabbit/commons/AbstractRepository? at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory?.initializeBean(AbstractAutowireCapableBeanFactory?.java:1336) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory?.doCreateBean(AbstractAutowireCapableBeanFactory?.java:471) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory?$1.run(AbstractAutowireCapableBeanFactory?.java:409) at java.security.AccessController?.doPrivileged(Native Method) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory?.createBean(AbstractAutowireCapableBeanFactory?.java:380) at org.springframework.beans.factory.support.AbstractBeanFactory?$1.getObject(AbstractBeanFactory?.java:264) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry?.getSingleton(DefaultSingletonBeanRegistry?.java:217) at org.springframework.beans.factory.support.AbstractBeanFactory?.doGetBean(AbstractBeanFactory?.java:261) at org.springframework.beans.factory.support.AbstractBeanFactory?.getBean(AbstractBeanFactory?.java:185) at org.springframework.beans.factory.support.AbstractBeanFactory?.getBean(AbstractBeanFactory?.java:164) at org.springframework.beans.factory.support.BeanDefinitionValueResolver?.resolveReference(BeanDefinitionValueResolver?.java:269) ... 93 more Caused by: java.lang.NoClassDefFoundError?: org/apache/jackrabbit/commons/AbstractRepository? at java.lang.ClassLoader?.defineClass1(Native Method) at java.lang.ClassLoader?.defineClass(Unknown Source) at java.security.SecureClassLoader?.defineClass(Unknown Source) at org.apache.catalina.loader.WebappClassLoader?.findClassInternal(WebappClassLoader?.java:1852) at org.apache.catalina.loader.WebappClassLoader?.findClass(WebappClassLoader?.java:876) at org.apache.catalina.loader.WebappClassLoader?.loadClass(WebappClassLoader?.java:1329) at org.apache.catalina.loader.WebappClassLoader?.loadClass(WebappClassLoader?.java:1208) at java.lang.ClassLoader?.loadClassInternal(Unknown Source) at org.springmodules.jcr.jackrabbit.RepositoryFactoryBean?.createRepository(RepositoryFactoryBean?.java:57) at org.springmodules.jcr.RepositoryFactoryBean?.afterPropertiesSet(RepositoryFactoryBean?.java:57) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory?.invokeInitMethods(AbstractAutowireCapableBeanFactory?.java:1367) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory?.initializeBean(AbstractAutowireCapableBeanFactory?.java:1333) ... 103 more 'code'
This class is in jackrabbit-jcr-commons-1.4.jar. Do you have such jar in WEB-INF/lib ?
ya the jar was there but different version 1.2, so i had to exclude that jar while defining dependency for jackrabbit core and then add 1.4 for commons jar explicitly. now i can build the app successfully but somehow it never gets deployed in tomcat. can you explain more about <mvn.site>file://[igenko folder]/site-deployed</mvn.site> <jcr.home.main>folder?/igenko-core/target</jcr.home.main> i thought i am doing it correctly but not sure what's wrong.
I am getting
org.springframework.web.context.ContextLoader? ContextLoader?.java(initWebApplicationContext:215) 20.07.2008 18:18:12 Context initialization failed org.springframework.beans.factory.parsing.BeanDefinitionParsingException?: Configuration problem: Duplicate <http> element detected Offending resource: URL jar:file:/D:/kiran/Projects/economic_experiment/IGENKO_NEW/trunk/igenko-server/igenko-backoffice-server/target/igenko-bo/WEB-INF/lib/igenko-core-0.5.0-SNAPSHOT.jar!/appCtxSecurity.xml?
I can't figure out the problem.