Eclipse settings to sync and save a single project over multiple paths - java

I can't seem to find a setting in Eclipse to save and back-up a single Project to multiple paths.
I have a single Java Project in Eclipse that I save on my local machine and either save as... or copy replace to a local network and local mass storage, for BACKUP. I'd like that to occur on any, all Project saves.
I saw Project properties, but I'm not too familiar with Eclipse and team dev options, and I don't want to F the paths, links, etc.
Thanks.
EDIT: I'll try what user101 recommended, but to avoid confusion, My own personal, primary Linux box is where development is performed. The other locations are, for lack of a better word, BACKUPS. I used the term "Sync" for the sake of what my question may be related to.
Sorry for any confusion.

What I understood is that you want the sources from different paths , if so You can try as below
1> Create new java project
2> Click on link additional source

Related

File changes are not reflecting to hard disk and old file is being read every time. How can I get through this?

I am using IntelliJ IDEA version 2016.1.2.
I have a project which contains couple of properties files using which I am handling things such as test run environment, file paths etc.
Now even if I change the particular property such as 'Run.Test.On.Env' which pertains to the environment under test to something like 'UAT' or 'SIT' and run the test suite, still the file is not being changed on hard drive and contains the same old value. And hence tests are being run on old unintended environment. Same issue is observed for XML files in the project which contain user ID's etc.
I have clicked save all, synchronize, invalidated caches, closed the project and imported again, deleted temp files but none of this helped.
I have searched a lot on google and jetbrains.com but no luck until now. Any help is highly appreciated.

Same workspace with eclipse

I'm using Eclipse in server and I have two users who can connect on this server. I want to find a solution which allows me to use the same workspace by they two users. I tried it and I got an error message which tells me that you can't use this workspace because it is used by another user and it makes sense. But I want to know if they have a solution which allows me to open the same workspace in the same time by the differents users who use the different authority.
Thank you
you cannot do that as it locks the workspace for one user. others cant edit the same. Try using Version Control like Git or SVN.
You can make developers use the same Eclipse by starting it's launcher with the "-data" argument set to a unique folder. (Let's say the user's name)
You can write a startup-script that copies the contents of a reference workspace, each time a user starts using this shared Eclipse.
But that's the most you can achieve; two instances of Eclipse can not use the same workspace. In server terms: think of it as a Session rather than a Workspace.

Tracking files changes in Java

I have java application. Every time when I'm doing changes in JSP file I need to copy saved JSP to another place (specific project). May be you know tool that can track changes in real time in files in specific folder and after every saving - copy these files to another folder, thanks.
Eclipse, IntelliJIdea like IDEs have a feature called Local History. you can view, compare replace each saved version through that by few clicks.
In java there is a support for watching file changes. You can use this to implement your own program that listen to file changes and save the version automatically whereever you want.
http://docs.oracle.com/javase/tutorial/essential/io/notification.html
Take a look at Apache Ant or Maven. These tools take a little customization, but once configured they make deploying a new version of your application as simple as a single command. Of course there is a learning curve for both Ant and Maven, so the larger and more complex the project, the more useful and time-saving these resources become.
If you really want the "quick and dirty" option for testing purposes, simply set up a Shortcut located in your Server root folder and pointing to the .jsp file in your development workspace. Give the shortcut the same name (and relative location) as the original and the shortcut will always mirror your development copy. Note that I do not recommend this option, and am only including it for completeness.

Keeping history of items without using a database in java

I have a small java utility application which performs tasks on remote computers. This app will provide user with a dropdown/combobox where they can enter ip address or hostnames for the computers they wish to connect to. It would be nice if the users could have a history of items/hosts they had connected in the dropdown.
I thought that I can create a file inside the distributable jar and use it to maintain the history. But writing to a file inside the jar seems to be impossible? The alternate approaches would be to use text files, databases etc located outside the jar. But this is not quite I would like to do as my utility app is only one file and I would like it to be completely independent of any external files. Also its not nice to have a text file stick around your jar file or create a text file each time your app is run.
Considering this case what options can I use? Are there any apis that can help in storing or keeping history?
Why don't you store this info with an hidden file in the user home directory? Many application do the same thing.
You can get the user home directory in this way
String userhome = System.getProperty("user.home");
I'd recommend keeping some .dat file somewhere associated with the JAR. Could be in same directory, or in the user's home (as #dash1e recommends) to avoid any permissions issues. I think you'll find that's the simplest solution.
Another option would be to use a Java-based database solution which could be bundled into your JAR (see Apache Derby, et al). Note that this would create files somewhere, but you wouldn't have to worry about the file-level management, as you'd just be interacting with it as a database.
One final option, if you really insist on avoiding having to maintain your own file, would be to use the Java Preferences API which provides an OS-agnostic way of storing data on the system in some obfuscated location. This is arguably a bit of a misuse of the goal of this API, but would accomplish what you're asking for.

How to avoid no main class and no class def found error using DropBox and Eclipse for Java

I use Eclipse to write Java code and use DropBox to sync my code with others' across our multiple computers. Most of the time, everything works as expected: if anyone makes a change on either end, the change is saved and when the other person refreshes the Eclipse workspace, the changes come through and can be viewed and run successfully.
Sometimes, one of several errors arises. Sometimes Eclipse says it cannot find a main class and sometimes it says it could not find the class itself. Sometimes it will not report an error but for some reason will not actually update the .class file and therefore run an old version even though the compiler displays the new source code and that saves. I've then noticed that if I manually copy the code into a new .java file elsewhere in the file system and then compile it, it works fine, but for some reason it refuses to regenerate the .class file and I have to delete it manually and replace it with the one generated in the other project--then it works. But for solving the other problems everything needs to be manually copied, deleted, and re-pasted....
[The actual errors include NoClassDefFoundError, UnsupportedClassVersionError, and some other error related to not having a main class.]
I realize that the description here is somewhat vague, but unfortunately I'm not entirely sure what's going on. I hope I'm just missing some basic fact that would help solve all these problems.
Thanks!
I'm sure you will see issues using Dropbox for sharing your source.
Eclipse does not know what Dropbox is doing whilst it's uploading and downloading updates and their activities will certainly not be synchronised. At arbitrary points in time when Eclipse tries to do builds etc. it will find unexpected activity going on, maybe even partially downloaded source files which might explain the specific errors you are seeing.
You're trying to do something more complex than sharing photos or documents. The advice I would give is to use a source control system like git or subversion for source code sharing and control. You can then make use of plugins for Eclipse that are designed to integrate these systems in an easy to use way. There's a learning curve there, but the skills will serve you well.
You can use online versions of these solutions like github and unfuddle if you want to consume sharing, backup and version control of source as a service like you do with Dropbox. They're free, too.
Subversion, Git and all version control software solve all of these problems for you.
Dropbox is not really an adapted system for sharing code. What you should do is set up a SVN, and commit only the source files. This way, you won't have these kind of errors.
Dropbox does have versioning (you can restore old versions of a file), and doesn't seem to be a horrible solution for the problem. I keep my Eclipse repository on Dropbox so it is available on any computer; but since I only use it myself, I haven't encountered your problems.
There is one case I can absolutely see you running into problems--it's if your class files are stored in the dropbox as well. This would just screw everything up. Make sure you specify a location on your local hard-drive for all build artifacts (classes, jars, ...) and that the only thing on your dropbox is the .java sources.
In fact, I suggest you don't keep your eclipse project in your dropbox, just create your eclipse project and point it to the java files in your dropbox.
If this doesn't work for you, go with what other people here said and set up a SVN repository somewhere, it's easier than you would think.
Oh, another possible problem--dates! You may want to make sure the date on your java files isn't jumping forwards and backwards (as might happen if one of your developers were in another time zone). In this case, Eclipse may prefer not to re-compile your file.
Also, instead of the copy/etc procedure you are currently going through, try forcing a project clean.
Response to request for more info:
When you start Eclipse, select/create a workspace that is NOT on your dropbox. The best place is probably off your home directory. If you have already specified a default workspace, there should be a switch workspace item in the file menu.
Create your project. select "Create project from existing source" and specify the source files in your dropbox. I think you want "create separate folders for source and class files" to keep your class files out of your dropbox. If you see anything saying "Copy files into your workspace, say "no".
This should give you a valid, working project. I hope you don't see those problems any more.
One more thing may help--and this may work on your existing project--without the above procedure...
Whenever you refresh your files (f5) to load in changes from the dropbox, select the Project/clean menu and select the project. This should delete all the class files and rebuild them.
If your classfiles are shared on the dropbox, this could still have strange consequences on other people with eclipse open, so I really do suggest rebuilding your workspace as I said above.
How to avoid no main class
Provide one. That issue has nothing to do with DropBox

Categories

Resources