Skip to Content
Technical Articles
Author's profile photo Andre Fischer

Running ABAP in Eclipse from a USB stick powered by SapMachine

 

ABAP in Eclipse powered by

Updates

  • 30.03.2020 – Added a link where to configure the location of the JVM used by ADT in case it does not reside in a local folder jre within the Eclipse installation

 

There are several reasons why one would like to run the ABAP Development Tools (aka ABAP in Eclipse) from a USB stick or have a self-contained installation in one separate folder on your laptop.

  • Your laptop has no JAVA runtime installed or your IT department has only installed a 32-bit Java runtime version
  • You don’t have administrative rights on your laptop or are working on different computers
  •  It’s cool

One problem that occurs very often is that IT departments have installed a 32bit Java Runtime which is not supported by Eclipse. The latest release of Eclipse requires a 64-bit JVM, and does not support a 32-bit JVM as described here Eclipse/Installation.

I have added a screen shot of such an error message at the end of this blog but did not want to use this as the first picture of my blog.

With SapMachine there is now a SAP supported version of OpenJDK available for SAP customers and partners who wish to use OpenJDK to run their applications such as ABAP in Eclipse.

In order to run ABAP in Eclipse you don’t need a complete JDK. The much smaller JRE 11 from SapMachine is sufficient which can be downloaded from GitHub.

Caution: Please note that SapMachine is not yet supported on the latest Mac OS Catalina.

 

Setup steps

 

  1. Get an installation of Eclipse 2019-09 (e.g. Eclipse IDE for Java Developers)
  2. Unzip the files to a folder on your USB stick (for example D:\2019-09\eclipse)
  3. Create a subfolder called jre in the folder where your Eclipse files reside
    (D:\2019-09\eclipse\jre)
    or alternatively copy it to some other folder on your laptop and set the location where the Java Runtime that shall be used by ADT can be found as here Specifying_the_JVM.
  4. Download the latest Java Runtime 11 files from GitHub
  5. Unpack the files into the sub-folder jre that you have just created.
  6. Run Eclipse
  7. Create a workspace on your USB stick (D:\eclipse-workspace_2019) or elsewhere
  8. Install the ABAP Development Tools in Eclipse as described here

 

As already mentioned this setup can also be used to install eclipse as a self-contained setup in a separate folder on your laptop rather than using a USB stick.

 

I am administrator and I want to build distributable packages

 

If you want to build an Eclipse IDE package, that is based on an existing Eclipse IDE package and contains ABAP Development Tools features please check out the step-by-step guide in the Installation Guide (page 32 ff) for  ABAP Development Tools.

 

How do I check the version of my Java Runtime?

 

You can check the version of the Java Runtime by running the command java -version. In case you only have a 32bit version installed you will see something like the following (that means you don’t see any hint that it is a 64bit version).

C:\Windows\System32>java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) Client VM (build 25.221-b11, mixed mode)

To be on the safe side you can run the following command java -d64 -version as described in this disussion at stackoverflow

C:\Windows\System32>java -d64 -version
Error: This Java instance does not support a 64-bit JVM.
Please install the desired version.

If we do this on our USB stick in subdirectory “jre\bin” we will see that it is a 64bit version.

D:\2019-09\eclipse\jre\bin>java -version
openjdk version "11.0.5" 2019-10-16 LTS
OpenJDK Runtime Environment (build 11.0.5+10-LTS-sapmachine)
OpenJDK 64-Bit Server VM (build 11.0.5+10-LTS-sapmachine, mixed mode)

 

Error message when using a 32bit Java Runtime

For completeness I am showing here the error message you will get when you only have a 32bit Java Runtime version installed

Java was started but returned exit code=13

C:\Program Files (x86)\Common Files\Oracle\Java\javapath\javaw.exe

 

 

 

Assigned Tags

      17 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Matthew Billingham
      Matthew Billingham

      Now, why couldn't you have published this two weeks ago when I received my new work laptop...? 🙂

      Anyway. If people want the leanest possible Eclipse for ADT, I've documented a method here: https://blogs.sap.com/2019/06/07/installing-lean-eclipse-with-adt/

      Of course, now I've done this, I've received some Java development requests...

      Author's profile photo Andre Fischer
      Andre Fischer
      Blog Post Author

      Sorry about not having been faster with posting this, especially for you getting now Java development requests. ?

      Author's profile photo Joachim Rees
      Joachim Rees

      two weeks ago when I received my new work laptop

      wow, same here!

      Author's profile photo Matthew Billingham
      Matthew Billingham

      Aha. You are me! 😀

      Author's profile photo AMIT GUPTA
      AMIT GUPTA

      Thanks Andre for posting such a detailed blog and providing the solution for developer like us who don't have admin rights on their machines. Now we can play with ABAP in Cloud even on machine where admin rights are prohibited 🙂

      Author's profile photo Joachim Rees
      Joachim Rees

      Sounds very cool, thanks a lot!

      Author's profile photo Peter Inotai
      Peter Inotai

      Thanks a lot for sharing it.

      Do you have a trick also for the SNC_LIB_64 variable and single sign on?

      Currently I have a bat file looks like this, but wonder if there is a better way to set this variable without having admin rights:

      set SNC_LIB_64=C:\SNC_LIB_64\gx64krb5.dll
      eclipse.exe

      Thanks,

      Peter

      Author's profile photo Andre Fischer
      Andre Fischer
      Blog Post Author

      Hi Peter,

      I am not aware of a better solution.

      Best regards,

      Andre

       

      Author's profile photo Peter Inotai
      Peter Inotai

      Hi Andre,

      Thanks for the info.

      Best regards,

      Peter

      Author's profile photo Bärbel Winkler
      Bärbel Winkler

      Andre Fischer

      Thanks for the write-up which I'm currently trying to follow. Everything worked as it should (if a bit slow) up to step 8. When I tried to follow the steps outlined here, I (not completely unexpectedly as it happened before for other Eclipse installations) hit the snag of "HTTP proxy authentification required":

      Is there any way around this as it's rather unlikely that we'll be able to provide this authentication via our company laptops? As far as I can tell, getting the "Eclipse framework" up and running via the zip-files doesn't completely get around the problems of how the ADT can be easily put onto a company computer.

      Thanks much and cheers

      Bärbel

      Author's profile photo Andre Fischer
      Andre Fischer
      Blog Post Author

      Sounds like an Eclipse problem described here https://stackoverflow.com/questions/1940984/how-to-specify-eclipse-proxy-authentication-credentials

      Author's profile photo Bärbel Winkler
      Bärbel Winkler

      Thanks for responding, Andre. I however don't think that this is something I should/could do on my office laptop. What is described in the stackoverflow discussion sounds to me like a hack to circumvent some security-related settings. In addition, I don't have a clue about the proxyname,  username and password expected for it (which I somehow doubt would be my usual credentials I use to access my laptop?). Oh, and we cannot do much in the system setting on our laptops anyway without admin access.

      Cheers

      Bärbel

      Author's profile photo Andre Fischer
      Andre Fischer
      Blog Post Author

      H Bärbel

      after looking at the documentation (and the settings on my own notebook) I would propose to use the setting

      “Active Provider” “Native”.

      since in this case the settings are read from your OS.

      No normal user is entering username and password for a proxy and so it should not be necessary for Eclipse users to do that.

      https://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Freference%2Fref-net-preferences.htm

      Author's profile photo Bärbel Winkler
      Bärbel Winkler

      Thanks for digging into this, Andre!

      Unfortunately, I have one more entry in the network settings which I apparently cannot change as the relevant buttons are greyed out. It’s already set to “Native” but there’s an additional entry in the table which I cannot get rid of or update:

      HTTP – Dynamic – Dynamic – Native – No

      I tried updating the other three entries to Auth “no” but that didn’t change the error message I got when I tried to get the ADTs (not too surprisingly as the entries are not checked).

      Cheers

      Bärbel

       

      Author's profile photo Mike Pokraka
      Mike Pokraka

      Hi Bärbel,

      I had exactly the same issue at a customer. The problem is not with Eclipse but with something blocked by the corporate firewall. The "http/dynamic ..." entry has to do with your local computer's proxy settings. If you open Internet explorer and go to Internet options > Connections > LAN Settings you will probably see an autmatic configuration script.

      Unfortunately we didn't find the cause when I had this issue - we spoke to a local network chap that could point us to a different corporate proxy server that worked, so we never bothered with opening a ticket with the networks team and all the procedures that would have involved.

      So the gist of it is to contact your networks people, that's where something is being blocked.

      Hope that helps,
      Mike

      Author's profile photo Bärbel Winkler
      Bärbel Winkler

      Thanks for your comment, Mike! Not sure if we'll ever manage to get rid of this kind of blocking on the network side of things and what that restriction then in turn means for really utilising Eclipse ?. If it's not easy to set up for people on "their" machines, uptake of Eclipse/ADT will be fraught with frustrations and subsequent clinging to SAP GUI.

      Cheers

      Bärbel

      Author's profile photo Mike Pokraka
      Mike Pokraka

      Hi Bärbel,

      I don’t really see this as an obstacle. It’s a proxy configuration or firewall issue, raise a ticket and get your network guys to fix it. This is SAP-mandated software, there are more and more things you can only do with Eclipse so this will become necessary at some point.

      As I said when I encountered it the company had an alternate proxy server and since it worked on that one we never bothered following up the solution. But it’s definitely something with your corporate proxy/firewall that should be sorted out. Once it’s fixed it will work for everyone.

      It’s also a bit difficult for us to help as this is really something specific to your company’s internet access setup. But if you do get it sorted it would be helpful to let us know what the issue was.

      Regards,

      Mike

      PS, and it’s also possible to package Eclipse as a standard corporate software installation, I’ve encounter it in several organizations’ software shop / software manager or whatever you call it. It’s always been just the standard installation, but adding ADT is not a big deal.