Consider a configuration class which needs to parse a different config file for each Eclipse project.
For instance, If Configuration
class is called from Project1
, it should parse special/path/fileX
, and if it is being called from Project2
, it should parse special/path/fileY
.
I've tried using Eclipse's {project_name}
, but surprisingly it is being parsed to the project being highlighted by the cursor, not the parent project of the current class.
Any ideas how can I distinguish one project from another in Eclipse Runtime, preferably using JVM arguments?
This is a workaround to your described problem, but I guess it's a better solution as it's independent from Eclipse and will easily work in production too.
Simply load the same file from the classpath, regardless which Project you're starting this from:
/my/file/from/classpath.txt
But put this file only in Project1 / Project2, such that the various files mutually exclude themselves according to your set-up:
/Project1/src/my/file/from/classpath.txt
/Project2/src/my/file/from/classpath.txt
Where src
are Java source folders. Now you can still use your JVM parameter to override this, or to provide a default if the above is missing.