Sharing Eclipse directory on Dropbox between Windows and Mac OS X - eclipse

This question was close to mine, but not quite.
I have a Windows desktop and a MacBook Pro. I'd like to be able to keep my Eclipse workspace in my Dropbox folder. The problem is that many project settings change between platforms: references to JREs, JDKs, and other libs.
Every discussion I've seen of this problem seems to suggest taking advantage of the source control system's ignore functionality, so that such-and-such file remains local-only and thus able to remain platform-specific. But when you're working with a real single shared folder, that class of solution doesn't apply.
Have you had luck working with a Java Eclipse project living in a single folder shared over the network, cross-platform?

I have my Eclipse workspace inside Dropbox with all my project folders within, but use the new-ish "Selective Sync" feature of Dropbox to make sure that the .metadata folder is not synced.
This means my Mac and Windows machines have their own .metadata folders but the project folders remain in sync.
Seems to be working so far...

Use source control with individual workspaces. By doing it this way you lose the capability of two developers making changes to the same file. You also run a higher risk of people stepping on each other. With Subversion (or others) source control is free and gives you traceability.

Perhaps the way to have less problems is just to share the source folder, neither workspace settings nor bin folder.
Just put your source folder in Dropbox.
Create the project on site1 and then:
Right click over the project, choose properties
--> Java Build path --> Source tab
--> Link source button
Then create a link to your source folder in Dropbox and assign it a name (e.g. src2)
Make the same for site2.
All your source files must be in your share source folder in Dropbox.
Of course you must configure on each site the settings like libraries and other stuff but this task is less frequently and perhaps desirable because you have two different environments.

For anyone else having trouble getting this to work, try File->Import->General->File System. Be sure to select Create links in workspace from the Advanced options. Seems like the cleaner solution and you can keep using your usual workspace.

Related

How do you make linked resources in Eclipse metadata system-independent

I use eclipse to develop my project, with git. I use 2 different system : Windows and Linux. Sometimes I work on Win, sometimes on Linux.
In my project I have a linked resources to a Google Drive folder.
On windows, the folder is D:\GoogleDrive and on Linux /mysuer/GDrive.
I configured the linked resources under windows. So in my .project I have a direct reference to D:\GoogleDrive\myfolder.
So, if I commit the .project, when I checkout under linux, I will have the path relative to windows.
I think may be I can ignore the .project but I don't know it is really better. What I risk to lose ?
What do you do yourself ?
Thanks
If you don't generate the project files and do settings that you want the same on all development machines like code style settings and so on, it is perfectly valid to check in the IDE metadata.
You should just leverage the Feature "Path Variables" that is provided by IntelliJ IDEA and now also Eclipse: http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fcpathvars.htm
You then just set this path variable in your local Eclipse workspaces and define your linked resource relative to this path variable as the linked doku describes.

XPAGES: Build path contains duplicate entry: 'org.eclipse.jdt.launching.JRE_CONTAINER'

I am trying to run an Xpage locally (in Chrome if it makes any difference) from a local NSF and am receiving the error:
Build path contains duplicate entry: 'org.eclipse.jdt.launching.JRE_CONTAINER'
I have copied all the ExtLib Features and Plugins to the correct directories as required.
Anonymous is set to Author.
I cannot find any information on how to resolve this. There was an open ticket on OpenNTF 6 years ago but no resolution.
[Update]
As Jesse Gallagher pointed out on Twitter, you can access the .classpath file without going through the ODP setup via the Navigator perspective. I would still recommend setting up source control since it gives you:
local change history in DDE (even if you don't use the ODP in git/hg)
the ability to track any changing file during development, aka- a rogue change to your .classpath file (I recommend installing Cameron Gregor's Swiper plugin)
is fairly easy to set up
as a developer, version control is the best way to cover your butt
[/Update]
I believe you quite literally have a duplicate entry in your NSF's build class path. This has to do with the Eclipse version Domino Designer is based on is being confused by its defined class path. I recommend the following:
if you don't have it set up already, set up source control for your NSF
open the (hidden) file .classpath, which can be found in the root of your On Disk Project (ODP) folder with a trusty text editor (Notepad++, etc.)
search for org.eclipse.jdt.launching.JRE_CONTAINER
if you find more than one, you will need to deconflict your class path (aka- remove one; it may be best to make a backup of the file)
if you don't have "Build Automatically" checked (in your Project menu), you may need to open Package Explorer and right-click your ODP, then perform a "Sync with NSF"
You should be able to de-conflict your build path via the Project > Build Path screen, but this is an easy way to search the whole thing in one shot.
Here's an example the .classpath file from a working app.
An example of a situation where others (using gradle, in this case) ran into a duplicate issue with org.eclipse.jdt.launching.JRE_CONTAINER.
Setting up source control with an NSF, right-click NSF, Team Development, Set Up Source Control:
Note: If you need a little more info on how to set up source control or want to know more about where to park the ODP (aka- if you haven't done this before), I recommend checking out David Leedy's Notes in 9 episode 131: Using SourceTree for Better XPages Source Control. Even if you don't use SourceTree, it's worth it to understand that the ODP should not be placed in your Notes Data directory, etc.

Update: Eclipse and one drive

I have a desktop and a laptop which i bring to uni. Is there a way to put eclipse workspace on One Drive (sky drive) and then be able to work on it from multiple computers? I have tried it but it seems to mess up the folders. I.e. the package folder is now a standard folder.
UPDATE:
I found this link but I'm not too sure it will work. Anyone willing to explain if this will work?
Here's the link: http://www.howtogeek.com/174765/how-to-sync-any-folder-with-skydrive-on-windows-8.1/
If you want to store the workspace there, you need to make sure that the project files such as .project and .classpath, which are automatically generated by Eclipse, are also stored. Otherwise, Eclipse won't recognize the folders as project directories.
Still even if you store all files you can encounter problems in some cases if you're using different versions of Eclipse across different computers, and with different plugins, features and so on. A simple solution is to also store the Eclipse installation itself so that you use the same Eclipse across all computers.
OneDrive does not (yet!) support syncing files that start with periods, like the .eclipse settings folders. Because of this you will not see those items sync over OneDrive.
Make NEW FOLDER in onedrive. Then run Eclipse with this folder. Run Eclipse with this folder in another computer.

Eclipse search directories outside workspace?

I'm trying to search folders and files outside the workspace in Eclipse 3.0.2 on Windows 7. These links helped:
http://eclipse.dzone.com/articles/5-best-eclipse-plugins-system
https://bugs.eclipse.org/bugs/show_bug.cgi?id=192767
Unfortunately I can only get Desktop Search to work, not System Search. I've tried both the nokia system search download links:
https://bugs.eclipse.org/bugs/attachment.cgi?id=106032
http://www.steinerberg.com/EmbeddedComponents/System%20Search/com.nokia.search.system_2.0.0.201102171254.jar
I put either com.nokia.search.system or com.nokia.search.system_2.0.0.201102171254.jar in c:\eclipse-php\plugins. I also tried putting com.nokia.search.system.feature in c:\eclipse-php\features but it still didn't work because the folder is empty so I get this message in eclipse's error log:
!MESSAGE Unable to find feature.xml in directory: C:\eclipse-php\features\com.nokia.search.system-feature
I take directory search for granted in tools like TextWrangler and Xcode on the Mac and am flabbergasted that the Eclipse developers don't include arbitrary file search in their IDE.
Another possibility is to somehow add the C drive to Eclipse's workspace. I mainly need this to search directories like pear. I guess a free app might be an ok solution, if there's a way to tie it into Eclipse somehow, that would be helpful.
Thanks in advance for any help you can provide,
Zack
If I understnad your question, you are trying to search folders/files outside of the eclipse workspace. My advice would be to create a new folder through new -> wizard select it as a "linked" folder and point it to the folder in your file system that you want to include in the search.
Say you want your C drive included in search. Create new folder, click on advanced which opens more otpions and select link to alternate location (linked folder) and click browse and select your c:\ drive. This will create folder in your workspace that is a pointer to the c drive and will be included in search queries.
First off, Duncan, thanks for your answer. It is the best for the purposes described in the original question.
I see this thread is a bit old but I would like to give some useful suggestions:
Additional plugins only slow down Eclipse. It already has so many plug-ins that come with it. I try to keep mine as slim as possible (a lean version of STS) and use external tools for tasks I perform outside of core development, like version control - I removed all my Git and SVN plug-ins manually.
Linked folders work best because you narrow down the search. If you try to search the entire file system you are probably better off using your OS and its built-in utilities designed specifically for that. They are faster and support all sort of searches that you would otherwise not be able to execute from Eclipse.
I haven't tried this on 3.0.2 but I came across this question after trying to setup a new Eclipse and working out which plugin I had before that allowed me to do this.
Turns out you need RSE (Remote System Explorer) which gives you Remote Search and you can use a local connection to select a folder on your local machine.

Working on eclipse project in subversion

All,
I have a 20 member dev team working on a development project.
To provide greater control we have created a workspace with necessary projects and configurations (like project preferences, set-ups etc) in IBM RAD.
The idea is to have the pre-configured project in subversion so that when the dev team members checkout the project they get a complete workspace, so that they do not have to configure setups them selves.
However the problem is everytime someone checks out the workspace IBM RAD will also edit the .metadata (and some other folders and properties file) folder that has been checked in.
Idea is the developer should not have to change anything except the source code folders or application specific files.
I think many other teams might have faced situations like this.
Can anybody provide the best practices/process/references on how this is done in development projects?
Thanks
I think svn ignore will solve your problem.
check http://svnbook.red-bean.com/en/1.1/ch07s02.html
The svn:ignore property contains a
list of file patterns which certain
Subversion operations will ignore.
Perhaps the most commonly used special
property, it works in conjunction with
the global-ignores run-time
configuration option (see the section
called “Config”) to filter unversioned
files and directories out of commands
svn status, svn add, and svn import.
You cannot stop IBM RAD from updating .metadata folder and Eclipse doesn't support splitting workspace folder as it does for the configuration folder.
The best solution would be to setup your build scripts to be able to setup your workspace based on some .zip file(s), where you've captured the required settings for the workspace. This will give the closest thing to automatic workspace setup without having to deal constantly with changed files in .svn.