eclipse


Which JRE System Library Option for Multi-Programmer Projects


I'm with a small team sustaining a Java-EE based web project. We're using Eclipse exclusively as the lead programmer is uncomfortable with Maven and doesn't know NetBeans at all (and the organization we work for won't buy a commercial IDE). We use GIT as our source control system.
We've solved a number of multi-programmer issues with Eclipse (e.g. how to define external jars with relative instead of hard-coded paths), but we've still got an annoying one. Frequently each of us has to go into the build path for each sub-project (there are 14 of them) and reset the JRE system library after a merge (from our remote master, and therefore from stuff pushed by the other programmers). We can't seem to see any rhyme or reason for it; it will reset the minor version of Java to one that none of us has installed (Java 8.0_77), or set to a blank "alternate JRE", or some such other issue. Early on, we sometimes did each have different JDK/JRE installed, but we're completely in sync now. We've tried using all three options (Execution environment, Alternate JRE and Workspace Default).
We cannot be the only people using Eclipse and GIT in a multi-programmer environment. How do you set up the Java library (or what workspace files have to be included in GIT) so that everyone stays in sync? Is there a way to do it so that when the Java version is updated (now automagically by our IT/IA people whether we want them to or not), Eclipse doesn't get confused by insisting on a specific minor version?
All of the 'resetting' answers I've found on Stack Overflow seem to deal with issues caused by the m2e plugin, which we're not using. Also note that we store the .settings and .classpath in GIT, but not .metadata, mostly because we frequently have to completely wipe out and recreate projects when we switch between branches (which is a subject for yet another question at another time).
These are some tips that may help:
At eclipse, go to Window > Preferences > Java > Installed JREs.
Verify that all your team have (at least) a JVM with the same minor version (I explain, jdk1.6 or jdk1.7 or jdk1.8) ... This will depend of the target JVM of your project! ... Also verify that everybody have the same JDK as default!
Then, go to "Execution Enviorments" and set a JVM for each JavaSE Version! Example:
This acts as label for your Java Environments... this way any eclipse project can say that it works with JavaSE8 instead of jdk1.8.0_70 or jdk1.8.0_60 (and the eclipse metadata files would not have to change between programmers)
Verify that you're versioning the .classpath file for each project and submodule. Verify that you're file has a node like this:
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
Verify how this file is being stored at GIT... may be it's being updated between programmers because a bad IDE configuration.
Check if when you import your project into the IDE, the .classpath file is being modified... particularly, the <classpathentry kind="con" node
And for last (and may be the most important!), change your "Lead Programmer"! (Seems lost and clueless)... Any experience programmer will tell you that implement this kind of development environment only brings problems of Maintainability and High coupling (problems that you're facing right now)... In other words, you're going backwards and coding like the year 2003 or even before...
Take my advice, use MAVEN and let anyone use the IDE that they want (at my team, we're are 6 or more developers, and some use eclipse, some netbeans and some intelliJ, in the same project!)...

Related Links

OSGi headless deployment on Linux
Eclipse is printing the wrong characters in the text editor
Spring classpath path unit testing eclipse
Egit for Eclipse on Mac OSX
firefox-esque tab groups for eclipse
Change variable hover window background while debugging on Eclipse
Difference between Eclipse's “clean project” and Maven's “mvn clean” in m2e
Eclipse: Create a group of tabs(Console, Servers, Problems … )
TestNG behaves different in Eclipse and in ANT
Connecting each JPanel superclass(include JRadioButtons)
GWT Wizards are not showing in the eclipse Wizards menu
how can I modify gvim to follow objects and variables to their definition?
How to configure findbugs plugin in eclipse?
Eclipse : Cursor beyond end of line - is there any solution? [duplicate]
Which OSGi specification implementation am I using when building against the Eclipse 3.7 Target Platform?
Deploying J2ME midlet on BlackBerry using Eclipse

Categories

HOME
delphi-7
prism
string
ng-idle
oracle-apex-5
devise
error-handling
owl-carousel
yandex
tvos
trac
fabric.io
commonjs
gson
frequency-distribution
glyphicons
dynamic-sql
fileserver
wolframalpha
breadth-first-search
blade
ksh
react-toolbox
inno-download-plugin
qliksense
onload
rpgle
corenlp-server
record
deltaspike
angularjs-material
erb
sammy.js
android-maps-extensions
activexobject
fossil
pop3
raft
odroid
kill
apache-stanbol
visa
importerror
monkey-testing
jide
gitlist
robomongo
bbpress
android-dateutils
clipboard.js
cda
sklearn-pandas
yajsw
ellucian-scribe
thread-sleep
asyncdisplaykit
atan2
mod-proxy
eoferror
dronekit-android
baasbox
liquid-layout
ms-access-2000
aspectj-maven-plugin
execve
angular-gettext
big-ip
easyrtc
psr-4
insight.database
winginx
jquery-slider
buffering
visual-studio-express
ie8-compatibility-mode
away3d
modular
inappsettingskit
nevron
nebula
kaleidoscope
sqlclr
device-width
onmousemove
paginator
umra
ruby-1.8
uideviceorientation
binomial-heap
wcf-instancing
alsb
java1.4
lemmatization

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App