using JRebel in Eclipse RCP development - eclipse-rcp

When developing a eclipse rcp applicatin,I need to restart the application after I changed my code.My question is obviously should be this :
How can I use JRebel in RCP applition development, so I do not need to restart my whole big Application again and again ?

I had managed to do this, just install JRebel evaluation from Eclipse market, restart eclipse and configure JRebel, open your project's run configuration, you will see a JRebel tab, check "enable Jrebel agent", now JRebel will begin to save your much time.
some notes :
JRebel is not free, after a 30 days evaluation, you need to buy it.
sometimes you still need to restart your application, after removing a inner class for example, but I am not sure about this

This may help: a JRebel plug-in that refreshes a bundle which's plugin.xml changes: https://bitbucket.org/toomasr/eclipse-jr-plugin (the bundle must have rebel.xml as well)

Related

Eclipse: Remove "Run As" options

Each time I run a program for the first time in Eclipse, I am prompted to choose between the alternatives
- Run on Server
- Java Application
Now, I might be at fault since I worked with some Tomcat servers through Eclipse a while back, but I cannot for the life of me find out how to remove Run on Server as an option. In more than 99% of the cases for me, I would want to run it as a Java Application.
You could uninstall the Web Tools (WTP) features, which is what contribute the Run on server capability. Open the About Eclipse dialog, click the Installation Details button and then look for "Eclipse Web Developer Tools" in the Installed Software tab.
It might be hard to find depending on what package you started with and how things were added, because any feature can be embedded into others. On my installation, it's under Eclipse IDE for JEE Developers > Java EE IDE Feature.

Java files do not reflect changes made in Dynamic Web Project in Eclipse EE

I have a dynamic web project in eclipse juno EE. Whenever I make changes to the java files in the project, the changes are not reflected. The old version of the file runs. Can someone help!
The key is to configure the tomcat server in Eclipse and disable Auto Reloading but enable Auto Publishing, so that JVM hotswap can be used. Here is an article talking in detail about it. How to Set Up Hot Code Replacement with Tomcat and Eclipse.
It is worth mentioning that there is a commercial product named JRebel that is much more powerful than JVM HotSwap. Here is a link comparing JRebel vs HotSwap if you are interested.
You have to either redeploy whole application or run it in debug mode in which some hot deploy (if you do not change method's signatures) is possible.

How To Create Webstart From Existing Eclipse Installation

I want to create a java webstart product that includes all of the contents of my current eclipse installation - standard eclipse java edition with some extra plugins that I have developed/downloaded.
There are a number of tutorials showing how to do this for an eclipse RCP application, but I don't want to create an RCP specifically for this purpose (I also tried to do it and never really managed to configure the app to look just like my workbench).
So, is this even possible? Any pointers?
Update: I followed this article, but after deploying my application in the web server and running the jnlp, the jars were downloaded but nothing happened. I tried changing the eclipse.product property to other "possible" values, but didn't help.
Do you really need the web start software?
Since eclipse doesn't requires installation, and the plugins are installed in the same directory of eclipse why don't you zip your eclipse once you have it configured, and redistribute it as a zip. Even eclipse itself is distributed as zip.

Boostrapping new Eclipse machines with all the Plugins

Bootstrapping Eclipse on new machines is such a time consuming process, you wind up asking yourself whether you really need each plugin. But there all handy, and help develop consistent habits.
Eclipse bootstrapping problems include:
Explaining / documenting what needs to happen
The actual time pasting in the right URLs and downloading
Version compatibility and dependencies
Eclipse likes to restart after each one
The changeover to the Eclipse Marketplace means that some plugins and instructions you find on the web tend to be inconsistent, depending on when they were written.
The Licenses... over and over and over... yes, yes, yes... I understand that the person installing needs to be aware of it, and have a chance to review them, but there's got to be a better way.
It'd be nice to have "patch file" (either binary or meta) that spells out what I want to add on top of stock Eclipse installation. I'd really like to find (or create) a 1 or 2 step process that sets up Eclipse, plus a favorite batch of plugins:
subclipse
m2eclipse
jetty support like runjettyrun
android sdk and plugin (or at least just the plugin)
aspectj
Web Objects / WOLiops
python, other langs
JVM Monitor, maybe EclEmma
probably a git plugin pretty soon.
Does command line maven help with any of this? It seems like its repository management would fit at least part of the functionality.
On a machine with an Eclipse installation matching your needs use File -> Export -> Install -> Installed software items to file. Import the generated file using the same menu on all other machines.
As Scott says, a good approach is to simply package a fully prepared Eclipse installation once all the plugins you need are installed. The downside is that you have to update most plugins afterwards.
Another option is to use Yoxos. With it, you can create a profile and configure it with all the plugins you need (and apparently Yoxos can do more than that).
Finally, this page might interest you concerning the configuration side of things.
Solution 1 is too search for more advanced Eclipse distributions.
For example, STS (Spring Tool Suite) comes with
AspectJ
EGit
m2e
(and of course) Spring IDE
One small trick can be done with m2e-android - Android Configurator for M2E Maven Integration. If installing it on clean Eclipse, it will also automatically resolve to install :
m2e
Android Developer Tools (ADT)

Eclipse Ganymede - Integeration with Tomcat 6 (without the whole WTP)

If I start with a Eclipse IDE for Java Developers (85 MB) (Ganymede) installation. What plug ins do I need to install to be a able to:
See the Server tab and being able to add my Tomcat 6 installation.
Be able to create a Dynamic Web Project which I may connect to my server.
I want to be able to start and stop the server.
See the server Stdout-output in my Console tab.
Debug an application on the server.
I want to install as little as possible, as long as I can do the above things I am more than satisfied.
Especially since I have problems with the complete Web Tools Platform (WTP); according to me it's full of bugs related to validation. It sometimes says valid files are invalid, often it helps if you simply restart Eclipse. I have also found it to ignore exclusions as well as sometimes completely ignoring that I have disabled validation all together.
The problems I've experienced have made me uninterested in anything from the WTP project, except the plug ins enabling me to work more smoothly by fulfilling the above unordered list (because that part of WTP worked really well).
I have heard the some have had success with Sysdeo Eclipse Tomcat Launcher Plug-in together with Ganymede. But since it's officially not supported and there has not been a new release since May 2007 and running it with Ganymede involved changing the plug-in files to accept versions >=3.4 I don't see it as a long term solution.
Installing parts of the WTP but not it in its whole feels like a long term solution while at the same time skipping the error ridden parts of the WTP. But I need help with which parts I need to install, as the documentation on Eclipse.org does not explain. Of course, if there is another supported solution than using parts of WTP then that is of interest too!
When I display the "eclipse Plug-in Dependencies" view for org.eclipse.jst.server.tomcat.ui, I see:
org.eclipse.wst.common.emf
org.eclipse.wst.common.emfwrokben.integration
org.eclipse.wst.common.environment
org.eclipse.wst.common.frameworks
org.eclipse.wst.common.modulecore
org.eclipse.wst.common.project.facet.core
org.eclipse.wst.common.project.facet.ui
org.eclipse.wst.common.uriresolver
org.eclipse.wst.internet.monitor.core
org.eclipse.wst.server.core
org.eclipse.wst.server.ui
org.eclipse.wst.validation
So if you can select org.eclipse.jst.server.tomcat.ui through p2 and let that "update process" to pick the dependencies for you, you should end up with the minimal set of plugins needed for running/managing Tomcat on Eclipse (with WTP).