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

How to check the value of eclipse properties like ${PROJECT_DIR_NAME}?
Eclipse: could not construct GCS client
Eclipse crashes on start raspberry pi
Eclipse projects no longer connected to Git repositories
Unresolved Dependency error in Eclipse
Extending an existing product using Eclipse Oomph
release build variable corruption when using ne10 math library assembly function
How to remember SVN credentials in Sublime Text
Importing Encog3.3 library to Eclipse via Maven
What change i should make in tomcat 8.0 on eclipse so that URL appear?
SVN Views don't work for Subclipse and Eclipse 4.6 (neon)
eclipse, add new embedded toolchain, windows
Life Cycle Exception
Open source Eclipse plugin for bit bucket
Error trying to install webclipse for eclipse neon, Error reading signed content
Get trouble on printing tensors when debugging my tensorflow code

Categories

HOME
uml
google-app-engine
api
deep-learning
cheerio
rsa
sublimetext
tivoli
scripting
permissions
echo
nuget-package
barcode
bing-maps
github-enterprise
text-mining
cumulocity
bitnami
job-scheduling
null-pointer
easyphp
git-extensions
pyramid
shortest-path
boost-icl
comparator
roundup
gpio
jasmine-node
carrierwave
vex
powershell-ise
paragraph
cognos-bi
gojs
sharding
servicestack-text
docfx
lint
google-earth-engine
dm-script
nohup
visa
vmware-fusion
subclipse
bindingnavigator
file-sharing
pom.xml
fclose
activeperl
zenhub
context-sensitive-grammar
java-6
seq
mach-o
trigger.io
baidu
docpad
adafruit
macaulay2
model-associations
upx
database-relations
character-replacement
sapi
grgit
dllimport
video-player
fuelcms
vacuum
alloy-ui
user-permissions
infosphere-spl
execve
primitive-types
punycode
formview
jqmodal
with-statement
verold
personalization
malformedurlexception
gae-quotas
eclipse-kepler
gtm-oauth2
kendo-dataviz
cnf
flex++
css-reset
font-awesome-4.0.0
mysql-error-2013
curb
adobe-media-server
extconf.rb
failing-tests
kqueue
hibernateexception
google-maps-mobile
landscape-portrait
creole
massive
xui
cac
cruisecontrol.rb
drupal-fivestar
interprocess
addchild
pagemethods
web-application-project
flvplayback
online-storage

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