My favorites | Sign in
Project Home Downloads Wiki Issues
Search
for
How_to_build_XMind_from_source  

#This page illustrates the procedure of building XMind application using source code.

What you need

Instructions

Step 1 - Installation

  1. Install Eclipse IDE to folder {ECLIPSE}
  2. Install XMind standalone application to folder {XMIND}
  3. Copy the following jar files from {XMIND}/plugins/ (on OS X, right-click or control-click on XMind in Applications folder, select 'Show Package Contents', select Contents -> Resources -> plugins) to {ECLIPSE}/plugins/
    • net.sourceforge.jazzy_0.5.0.jar
    • org.bouncycastle_1.3.8.jar
    • org.json_1.0.0.jar
  4. Launch Eclipse IDE and create a new workspace {WORKSPACE}
  5. Select Help menu -> Software Updates... -> Available Software, install:
    • 'Graphical Editing Framework Draw2d'
    • (recommended) 'Graphical Editing Framework Draw2d Developer Resource'

Step 2 - Importation

  1. In Eclipse, select File menu -> Import... -> Existing Projects into Workspace
  2. Select the archive file (source package) downloaded from this site
  3. Select all projects and click Finish
  4. After the importing process is over, restart Eclipse

Step 3 - Building

  1. Select org.xmind.cathy.win32:
    • If not working on Windows, delete this project
  2. If there's still building errors, try Project menu -> Clean... -> Clean all projects

Step 4 - Launching

  1. Select Run menu -> Run Configurations... (same for Debug Configurations)
  2. Right-click (control-click on OS X) on Eclipse Application -> New
  3. In Main tab,
    • Name: XMind (or any)
    • Location: ${workspace_loc}/../runtime-cathy (or any)
    • Run a product: org.xmind.cathy.product
  4. Switch to Plug-ins tab,
    1. Launch with: plug-ins selected below only
    2. Deselect All
    3. Check only those XMind-related plug-ins, language pack fragments (xx.xx.xx.nl_xx) may be included as needed
    4. Add Required Plug-ins
  5. Apply changes and Run!

References

Comment by project member frankshaka, Nov 30, 2009

Updated to 3.1.0 today.

Comment by apprecia...@sympatico.ca, Jan 24, 2010

Do the 3 jars go in the "dropins" directory or do I need to make a "plugins" directory?

Comment by apprecia...@sympatico.ca, Jan 24, 2010

No matter where I seem to put the jars I keep getting the errors: "AESEngine cannot be resolved to a type." and "BufferedBlockCipher? cannot be resolved to a type." How do I properly configure the Build Path for these projects?

Any help would be appreciated. Thanks.

Comment by apprecia...@sympatico.ca, Jan 24, 2010

Ok to fix that I found that I could do: Eclipse >> File >> Import >> Plug-in Development >> Plug-ins and fragments and import from the directory: bcprov-jdk15-141 directory which was previously extracted from the org.bouncycastle_1.3.8.jar, as binary projects, and then selected org.bouncycastle, or called it that (can't remember exactly but it worked). It imported org.bouncycastle as a project and the Errors disappeared.

Now I am left with the following errors: "Configuration.SPELL_TARGET_FILE cannot be resolved." That's from SpellingCheckPrefPage?.java in /org.xmind.ui.spelling/src/org/xmind/ui/internal/spelling

This is different because the import statement, "import com.swabunga.spell.engine.Configuration;" seems to be resolved. The reference, "Configuration.SPELL_TARGET_FILE" doesn't seem to be resolving properly, even if I try to enter a fully qualified name like: "com.swabunga.spell.engine.Configuration.SPELL_TARGET_FILE". No luck. Any suggestions? Anyone? Anyone?

Comment by apprecia...@sympatico.ca, Jan 24, 2010

Ok so that's obviously a constant that is supposed to contain the name of the spelling configuration file. hmmm... Where are you hiding this constant?

Comment by apprecia...@sympatico.ca, Jan 24, 2010

I assume Jazzy and or Json has something to do with this. I made them new projects imported from existing jars and put them in the build path of org.xmind.ui.spelling. Still not resolved. Same errors. hmmm... will have to research this more. Any hints? Anyone? Anybody reading this?

Comment by apprecia...@sympatico.ca, Jan 25, 2010

Oh well, it seems to work, even without spellcheck. Dat's ok I went to skool.

Comment by dvo...@gmail.com, Mar 6, 2010

Put the jars in "plugins". Then go to the "Target Platform" page in preferences and click "reload". You should be able to build with those jars then.

Comment by 5456...@gmail.com, Mar 31, 2010

I want to use xmind on freeBSD, Do Someone have the experience with building.

ps: I can't find XMind standalone application in http://www.xmind.net/downloads/. how about that?

Comment by ntukarat...@gmail.com, Jun 3, 2010

Hi, I have successfully build Xmind from source code, but it does not contain ‘fishbone drawing’ function as .exe file. Does anyone know whether the source code contain such kind of function?

Comment by e.marg...@webapart.fr, Jul 12, 2010

Hi,

following the great explanations given in this topic, I managed to build xmind from course code. But I can't export it outside of eclipse. I have this error : "Problems downloading artifact: osgi.bundle,org.bouncycastle,1.0.0." Anynone has an idea of the problem ?

Comment by e.marg...@webapart.fr, Jul 12, 2010

Sorry I didn't see the comment upper : "Ok to fix that I found that I could do: Eclipse >> File >> Import >> Plug-in Development >> Plug-ins and fragments and import from the directory: bcprov-jdk15-141 directory which was previously extracted from the org.bouncycastle_1.3.8.jar, as binary projects, and then selected org.bouncycastle, or called it that (can't remember exactly but it worked). It imported org.bouncycastle as a project and the Errors disappeared."

Comment by pete.car...@gmail.com, Jul 26, 2010

This is just a heads up that I had the same problem as noted above by e.marg~ and apprecia~. It seemed very odd because the bouncy castle jar was showing properly in the dependencies of the org.xmind.core.runtime project, the same one that would not compile because it would not see those imports!

Here is what I did to fix it easily.

  1. Right clicked org.bouncycastle jar, choose import
  2. Chose Plugin Development > Plugins and Fragments
  3. Took defaults - hit Next
  4. Choose the org.bouncycastle jar, then "Add"
  5. Finish. Project is now in workspace and everything compiles.

Comment by neofreeware@gmail.com, Jul 31, 2010

Thanks for all these tips

After the add of the org.bouncycastle in the workspace, 20 build errors tagged "Plug-in Problem" remains in the org.xmind.ui module (all are similar to this first one : Referenced element 'adapt' is not defined).

Thanks by advance if anyone has a clue to this issue...

Comment by neofreeware@gmail.com, Aug 4, 2010

This problem occurs only with the last version of Eclipse (Helios). To fix it, the previous one (Galileo) must be used.

Comment by iam...@gmail.com, Nov 8, 2010

Comment by pete.carapetyan, Jul 26, 2010 This is just a heads up that I had the same problem as noted above by e.marg~ and apprecia~. It seemed very odd because the bouncy castle jar was showing properly in the dependencies of the org.xmind.core.runtime project, the same one that would not compile because it would not see those imports!

Here is what I did to fix it easily.

1.Right clicked org.bouncycastle jar, choose import 2.Chose Plugin Development > Plugins and Fragments 3.Took defaults - hit Next 4.Choose the org.bouncycastle jar, then "Add" 5.Finish. Project is now in workspace and everything compiles.

It's good idea. 3x all.

Comment by kormus...@gmail.com, Mar 17, 2011

Have the same on Helios:

After the add of the org.bouncycastle in the workspace, 20 build errors tagged "Plug-in Problem" remains in the org.xmind.ui module (all are similar to this first one : Referenced element 'adapt' is not defined).

Guys, please help with building XMind on Helios!

Comment by alexandr...@gmail.com, May 16, 2011

Run a product: org.xmind.cathy.product

I can't find it!? how can I make it appears?

Comment by project member ELubar...@gmail.com, May 18, 2011

I think you need to use an "Eclipse Application" configuration to get the Run a Product option. e.g.: http://tinypic.com/r/x5qb8w/7

Comment by innocent...@gmail.com, Jul 29, 2011

galileo and helios compatibilities.

i think this relates to the internal eclipse schemas (.exsd) for expressions.

as of xmind 3.2.1 only galileo works. RC1 and RC2 both build correctly, but RC1 is the version that xmind is based on.

Comment by robinlee...@gmail.com, Aug 1, 2011

Which one is the "XMind standalone application"?

Comment by project member ELubar...@gmail.com, Aug 8, 2011

Re: "XMind standalone application" - the Portable (zip) version will do - you just need to copy off some jars

Comment by Ant...@gmail.com, Aug 11, 2011

I struggled with the "org.bouncycastle" building error the whole afternoon and finally worked out a proper solution on Galileo on Windows. Somehow boundcycastle doen't work the way I expected, so I modified the org.bouncycastle_1.3.8.jar file from <XMind_intall_folder>/plugins/. In case anyone has the same problem while building, I've put it on http://ench.tw/files/org.bouncycastle_1.3.8.jar . Just replace org.bouncycastle_1.3.8.jar mentioned in the instruction with the modified one. Helios won't build btw.

Thanks for the hints from the comments above.

XMind is amazing, thanks, guys!

Comment by afeie...@gmail.com, Sep 17, 2011

Shared: "step 4.4 Check only those XMind-related plug-ins, language pack fragments (xx.xx.xx.nl_xx) may be included as needed " This step is very important, if you skip it, you will meet the error 'java.lang.RuntimeException?: No application id has been found.' when you try to run the application.

Comment by martin.b...@gmail.com, Nov 26, 2011

Thanks for this page !

I followed each step. I have windows vista, eclipse-SDK-4.1.1-win32. Unfortunately, when running, an Xmind window appear but completely empty, with no way to open/create something.On the console, i have this error (bellow) when i run, Sorry, it's a bit long. Have you any idea ??

java.lang.Exception: Bad call to getCoolBarManager()

at org.eclipse.ui.internal.WorkbenchWindow?.getCoolBarManager(WorkbenchWindow?.java:2233) at org.xmind.cathy.internal.CathyWorkbenchWindowAdvisor?.postWindowOpen(CathyWorkbenchWindowAdvisor?.java:74) at org.eclipse.ui.internal.WorkbenchWindow?.fireWindowOpened(WorkbenchWindow?.java:1181) at org.eclipse.ui.internal.Workbench.createWorkbenchWindow(Workbench.java:1196) at org.eclipse.ui.internal.Workbench.getActiveWorkbenchWindow(Workbench.java:1161) at org.eclipse.ui.internal.services.WorkbenchSourceProvider?.updateActiveShell(WorkbenchSourceProvider?.java:932) at org.eclipse.ui.internal.services.WorkbenchSourceProvider?.getCurrentState(WorkbenchSourceProvider?.java:133) at org.eclipse.ui.internal.services.WorkbenchSourceProvider?$6.handleEvent(WorkbenchSourceProvider?.java:692) at org.eclipse.swt.widgets.EventTable?.sendEvent(EventTable?.java:84) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058) at org.eclipse.swt.widgets.Decorations.WM_ACTIVATE(Decorations.java:1647) at org.eclipse.swt.widgets.Shell.WM_ACTIVATE(Shell.java:2137) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4525) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1610) at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2061) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4972) at org.eclipse.swt.internal.win32.OS.BringWindowToTop?(Native Method) at org.eclipse.swt.widgets.Decorations.bringToTop(Decorations.java:230) at org.eclipse.swt.widgets.Shell.open(Shell.java:1217) at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.postProcess(WBWRenderer.java:643) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine?.safeCreateGui(PartRenderingEngine?.java:628) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine?.safeCreateGui(PartRenderingEngine?.java:714) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine?.access$2(PartRenderingEngine?.java:685) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine?$7.run(PartRenderingEngine?.java:679) at org.eclipse.core.runtime.SafeRunner?.run(SafeRunner?.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine?.createGui(PartRenderingEngine?.java:664) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine?$9.run(PartRenderingEngine?.java:926) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine?.run(PartRenderingEngine?.java:885) at org.eclipse.e4.ui.internal.workbench.E4Workbench?.createAndRunUI(E4Workbench?.java:90) at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:539) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:519) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.xmind.cathy.internal.CathyApplication?.start(CathyApplication?.java:46) at org.eclipse.equinox.internal.app.EclipseAppHandle?.run(EclipseAppHandle?.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher?.runApplication(EclipseAppLauncher?.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher?.start(EclipseAppLauncher?.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter?.run(EclipseStarter?.java:344) at org.eclipse.core.runtime.adaptor.EclipseStarter?.run(EclipseStarter?.java:179) at sun.reflect.NativeMethodAccessorImpl?.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl?.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl?.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

Comment by project member ELubar...@gmail.com, Nov 28, 2011

Hi Martin, Could you try Indigo (Eclipse 3.7.X)?

Comment by martin.b...@gmail.com, Nov 29, 2011

it woooooorks !!! Thanks a lot ! (you can delete my last ugly message if you wish) See you soon

Comment by jackpark, Apr 2, 2012

One of four runtime errors: org.xmind.signin

Missing Constraint: Require-Bundle: org.json; bundle-version = "0.0.0"

The other 3 are similar, 2 for json, one for jazzy. Each has the appropriate jar in the dependency directory.

Is there a simple fix for this?

Comment by jackpark, Apr 2, 2012

Correction, one of the four validation errors was for bouncycastle in org.xmind.core.runtime I plan to try the revised bouncycastle jar mentioned above.


Sign in to add a comment
Powered by Google Project Hosting