Technical Articles
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
- Get an installation of Eclipse 2019-09 (e.g. Eclipse IDE for Java Developers)
- Unzip the files to a folder on your USB stick (for example D:\2019-09\eclipse)
- 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.
- Download the latest Java Runtime 11 files from GitHub
- Unpack the files into the sub-folder jre that you have just created.
- Run Eclipse
- Create a workspace on your USB stick (D:\eclipse-workspace_2019) or elsewhere
- 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
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...
Sorry about not having been faster with posting this, especially for you getting now Java development requests. ?
wow, same here!
Aha. You are me! 😀
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 🙂
Sounds very cool, thanks a lot!
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:
Thanks,
Peter
Hi Peter,
I am not aware of a better solution.
Best regards,
Andre
Hi Andre,
Thanks for the info.
Best regards,
Peter
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
Sounds like an Eclipse problem described here https://stackoverflow.com/questions/1940984/how-to-specify-eclipse-proxy-authentication-credentials
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
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
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
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
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
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.