[jbosstools-issues] [JBoss JIRA] (JBIDE-21170) Problems with CDK Adapter resulting from missing PATH in Eclipse on Mac

Alexey Kazakov (JIRA) issues at jboss.org
Mon Feb 22 16:06:00 EST 2016


    [ https://issues.jboss.org/browse/JBIDE-21170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13166633#comment-13166633 ] 

Alexey Kazakov commented on JBIDE-21170:
----------------------------------------

Guys, take a look at http://git.eclipse.org/c/jsdt/webtools.jsdt.git/tree/nodejs/org.eclipse.wst.jsdt.js.cli/src/org/eclipse/wst/jsdt/js/cli/core/CLI.java
This is what we use in JSDT to access system CLI tools. We had the same issue with missing PATH on Mac when running nodejs and cordova CLI stuff from Eclipse. We would probably move this code somewhere up so we will be able to reuse it in JSDT and JBDS.

> Problems with CDK Adapter resulting from missing PATH in Eclipse on Mac
> -----------------------------------------------------------------------
>
>                 Key: JBIDE-21170
>                 URL: https://issues.jboss.org/browse/JBIDE-21170
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: cdk
>    Affects Versions: 4.3.1.Beta1
>            Reporter: Martin Malina
>            Assignee: Rob Stryker
>             Fix For: 4.3.1.CR1
>
>
> The problem is that CDK tooling relies on PATH to find vagrant. And the "vagrant up" command in turn depends on PATH to find e.g. VBoxManage.
> On Mac, when you start your Eclipse / JBDS as an app by double-clicking an icon on your Desktop or in Finder, the Eclipse instance will have no PATH env variable.
> One workaround is to start your Eclipse from command line by going inside the package:
> {code}
> cd Eclipse.app/Contents/MacOS
> ./eclipse
> {code}
> But this is definitely not the recommended way to start Eclipse - I'm not sure if eclipse.ini is located properly in this case. But at least PATH is correct then.
> There is actually one more workaround. To add your PATH to the Environment tab in Launch config. That works for me.
> So that might be a potential solution to this problem - have a predefined PATH for each OS in case there is none defined in the Eclipse process.
> After I set up a CDK server adapter and fixed the wrong path to vagrant in the launch config, I then started the server adapter and got this:
> Server CDK Server Adapter at localhost failed to start.
> Console:
> {code}
> The provider 'virtualbox' that was requested to back the machine
> 'default' is reporting that it isn't usable on this system. The
> reason is shown below:
> Vagrant could not detect VirtualBox! Make sure VirtualBox is properly installed.
> Vagrant uses the `VBoxManage` binary that ships with VirtualBox, and requires
> this to be available on the PATH. If VirtualBox is installed, please find the
> `VBoxManage` binary and add it to the PATH environmental variable.
> {code}
> Along with this, there was an Unhandled event loop exception in the error view:
> {code}
> org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)
> 	at org.eclipse.swt.SWT.error(SWT.java:4491)
> 	at org.eclipse.swt.SWT.error(SWT.java:4406)
> 	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
> 	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4024)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3700)
> 	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
> 	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
> 	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
> 	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
> 	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
> 	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
> 	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
> 	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
> 	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:520)
> 	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
> Caused by: java.lang.NullPointerException
> 	at org.jboss.tools.central.editors.GettingStartedHtmlPage.updateEarlyAccess(GettingStartedHtmlPage.java:359)
> 	at org.jboss.tools.central.editors.GettingStartedHtmlPage.access$14(GettingStartedHtmlPage.java:342)
> 	at org.jboss.tools.central.editors.GettingStartedHtmlPage$6$1.run(GettingStartedHtmlPage.java:327)
> 	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:162)
> 	at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:154)
> 	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
> 	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
> 	... 23 more
> {code}
> In the command line, VBoxManage is accessible and it is located in /usr/local/bin/ and on my PATH.
> Max suggested I could try to start Eclipse from command line instead of double-clicking in Finder (which is the normal way to do it on Mac) and that helped.
> So for some reason when you start Eclipse using Eclipse.app from Finder, the PATH is incorrect.



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jbosstools-issues mailing list