Even if you just want to study the code, it probably makes a lot of sense to do so in an IDE.
Download the installer for the latest Eclipse version (currently this is Eclipse 2018-12) from http://www.eclipse.org/.
The installer will give you a choice about which “edition” to install.
“Eclipse IDE for Java Developers” will probably do. We found that at least for us, the “Eclipse IDE for Java EE Develeopers” has too much unneeded overhead.
We use lombok to reduce boilerplate code.
To enable your local Eclipse to compile the code, please go to https://projectlombok.org/download.html and follow the instructions for Eclipse. You might also want to check out our metasfresh-issue #1125 for further details.
eclipse.ini
fileOpen the eclipse.ini
file in the Eclipse instalation directory and check the -vm
value.
This is the java version Eclipse itself will run with. Please make sure that it is a recent version and a that it’s a JDK. Why that?
jaxb2-maven-plugin
plugin might fail (thank you to stackoverflow and also to this blogpost).-vm
parameter in your eclipse.ini
file.eclipse.ini
looks like:[...]
--launcher.appendVmargs
-vm
C:\Program Files\Java\jdk1.8.0_131\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
[...]
Also, we recomment that you make sure to start eclipse with more than the default 1GB of RAM.
Look for -Xmx1024M
within the eclipse.ini
file and change it to e.g. -Xmx4096M
(the more the better).
The dependency tree of metasfresh contains a few artifacts that are not part of the default maven repository.
Therefore we recommend that you add our public repository to your maven settings.xml
file.
Please take a look here for details.
C:\development\repos
, because it’s where all my working copies are located.eclipse-config
folder in the metasfresh-dev repository.pom.xml
. This can be done with the shortcut Alt-F5
or via right-click on the project in question, and then:
/metasfresh-dist/metasfresh-dist-swingui.launch
starts the sing client,/metasfresh-dist/metasfresh-dist-serverRoot.launch
metasfresh-webui-api/metasfresh-webui-api.launch
.launch
config files for those/metasfresh-dist/metasfresh-dist-swingui.launch
localhost
and port 61616
in the swing client’s connection dialog..._jrebel.launch
configs. You can them in case you have the JRebel Eclipse plugin.Note that until eclipse version neon2 the lombok integration is tricky. The recommended eclipse version is at least neon3, as the lombok integration works out of the box with the lombok gui installer (also across multiple eclipse projects). See here for further infos.
The Eclipse Mylyn to GitHub connector is a plugin that allows you to connect mylyn to the different metasfresh repos and use mylyns features to focus on the particular issue at hand.
The connector can be installed via Eclipse’s “Help -> Install New Software…” Dialog:
With this connector installed, you can add GitHub-based mylyn repositories to your Eclipse instalation.
We don’t yet have experince with code contributions that were created with Netbeans and are only getting started to gain experience with IntelliJ.
We don’t think there is a need to dictate a particular IDE,
but when contributing, please make sure to text-format your contribution in a way that allows us to get a meaningfull diff. to that end, note that your IDE might be able to import our Eclipse formatting spec.