Prevent Eclipse plugin installation on Windows XP/7 - eclipse

I am in the process of upgrading our development environment at work. One of the features is to get our developers using Eclipse as their IDE. However for security reasons we do not want our developers to be able to install plugins in Eclipse.
Is there a way to install Eclipse such that a regular user will need to obtain admin privileges to install a plugin?
Regrettably I am only familiar with *nix type permissions, and I would have thought windows would be somewhat similar. I believe I have installed Eclipse under C:\Program Files\eclipse with just read/execute permissions, but when a regular user comes along and tries to install a plugin it appears that Eclipse installs it under the user's directory. Is there a way to prevent that?
Basically after the initial installation of Eclipse the developer should NOT be able to install plugins. What's the best way to do this?
Ultimately this will need to work on a WinXP system. But for my home computer I test on a Win7 machine. Hopefully the procedure for the two platforms are the same, but when it comes to MS who knows.

There is no obvious way to prevent plug-in installation on eclipse. Even the eclipse installed under C:\Program Files\ on windows 7, eclipse also allows installing the plug-ins into the user's home directory for each user. It's designed for share install that has same behavior on linux as well.
I'm not sure what's kind of security concerns to make such a decision, one possible way is removing the org.eclipse.equinox.p2.ui.* plug-ins from your eclipse to disable the ui entry of eclipse's install menu.

FYI: the full description of the behaviour you are seeing is described in multi-user installs [1]. If you check out that and the Runtime options available as a link from that page, maybe you can set the osgi.configuration.area system property to something read-only as well.
[1] http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/multi_user_installs.html

Related

Eclipse offline Extensions install in an almost completely closed environment (proxy)

Initial position:
Currently I'm at a customer's site who has completely locked up his system (VM), and through a proxy blocks nearly everything, including the connections to download the extensions of Eclipse.
In the Eclipse marketplace you can find the download links, but they are of no use to me. Since the proxy locks everything out.
If you use the download link, you will get to this page, which ONLY refers to the integration in Eclipse via the web. This is currently not possible for me!
A reference to the M2E version only leads to the page mentioned above.
https://www.eclipse.org/m2e/
The customer only allows Eclipse no other programs.
It is unbelievable ^^
Is there a way to install offline extensions in Eclipse like Visual Studio code?
What I need is a Maven/Java based version, including Jenkins integration.
I currently used a portable version of Eclipse from the points already described. Yes, the download of complete versions is possible and not blocked, just the integration of plugins and extensions.

Move Plugins between different Eclipse versions

I need to install several plugins to an eclipse that is running on a remote 64bit Linux machine.
I tried copying the neccesary plugins to the plugins and feature folder on the remote machine but it did not seem to work.
The approach I wanted to try out now was setting up a new Eclipse installation with all plugins and replacing the whole eclipse folder.
But as I am doing this I realized that I have to use a 32 bit Linux and Eclipse. Is it possible to install 32bit Eclipse and just move the plugins and features to the remote machine?
Do I need to consider other things?
Can you recommend any other approach that would help me?
UPDATE:
The problem is that I cannot just start eclipse on the remote machine. I can access it via ssh but not run eclipse and install plugins via the wizards.
I also have no 64bit linux to prepare a complete eclipse that I can simply copy.
So what I meant is that I have to prepare either an eclipse installation or maybe just plugin folder and move that from my 32bit architecture to the 64bit one.
I can download the current eclipse folder but I cannot run it. When I try to start it with ubuntu nothing happens. I believe it is because its a 64bit version and I got 32 bit architecture.
Don't do this. Not only are there are a number of plugins with native-compiled fragments (different for 32-bit vs 64-bit), but in recent versions, Eclipse will not even register features and plugins that are simply dropped in. You should install plugins explicitly unless you are moving the entire installation between machines with compatible architectures.
You can't run a 64bit binary on a 32bit system without some kind of virtualization software that does a complete CPU emulation. VMWare, VirtualPC, etc... don't do this. They virtualize the system, but not the CPU.
The other way around: a 32bit binary on a 64bit cpu, is generally possible, if the OS (and processor) supports such things.
I think this is feasible.
The architecture should not be the problem. Unless the plugins contain DLLs or .so libraries invoked through JNI but there are very few examples (swt is one example but there are very few of them).
As a matter of fact, the reason why you have OS/arch/GUI specific versions of eclipse is not the java code but the native launcher (eclipse.exe on windows and SWT), all the rest can go bck and forth from one machine to the other, regardless of the arch, the os or the wondows manager.
However, dropping jars in the plugin directory of eclipse is not the recommended way of installing plugins any more (since 3.3 ?). It might work but there is no guarantee.
To install the missing plugins you should download them from eclipse itself (help => install new software...). If you tell us the specific plugins you have problem with, we might be able to help you more precisely.
The best way to go forward is to list all the plugins on the source machine (either from eclipse (help => about) and look at names having specific hints at arch/os/gui. All these cannot be copied over. All the rest should be safe.
As I said, beware of swt. Subclipse has a JNI dependent configuration if you decide to use JavaHL. And there are also "false" plugins such as xmlSpy etc who are noting more than JNI adapters but these are not mainstream.

Cross-Platform Single-Instance IDE Setup

I like to carry software around with me on a USB flash drive. I also like to work in both Windows and Linux. Finally, I like to develop software using powerful tools.
Bringing these three things together, I want to be able to carry an IDE around with me. My favorite choice is Eclipse.
So, I tried to get an Eclipse install working on a thumb drive. Not surprisingly, it's just fine if I pack in a JDK. But Eclipse without plugins just doesn't do it for me. After installing my plugins of choice, I had a hefty 300ish MBs of data.
Then I realized that I'd only installed for Linux. And that I was going to have to duplicate everything to get a Windows install. That's not good.
I've searched the web. I found a guide on creating .link files which looks like a hack from the early 80s. I found documentation on the new Eclipse p2 provisioning which I couldn't even understand. I checked Pulse, and they don't support Helios yet.
I remember in old Eclipse days you could just install a plugin to an alternate directory, and share that dir across different Eclipse installs. Today, I couldn't manage to find anything of the sort.
I did manage to get Netbeans up and working properly in a cross-platform manner in around 30 minutes. But I prefer Eclipse.
Could anyone give me a hand? What I'm looking for is:
One install of the platform-independent portions of the Eclipse internals
One install of each plugin I desire
The ability to run this unified Eclipse from both Linux and Windows
I know I'll need a JVM for each platform. I know I'll also need an SWT lib and launcher for each OS. That's fine.
You need to have separate Eclipse installations for each platform and a shared plugins directory for both installations. There are many questions on the subject on StackOverflow. For example, see this comprehensive answer.
Start with the standard Eclipse packages. Complete your shared dropins setup. Once you are up and running, you get probably move plugins from each standard installation to the shared dropins directory to save space (for example, JDT).

Adding an extension to Eclipse without an internet connection

I have a problem with eclipse. I would like to install an extension (EGit) but the official site does only provide a classical update site.
The problem is that I am running eclipse on a distant machine that does not have internet access (only my local computer has a connection). The only link between my computer and my distant machine is a distant hard drive that is mounted on the two computers.
The distant machine is a classic linux but the local one is a Windows XP so I can't just use ssh -L (or at least I do not know the way to do it under windows).
Does anybody have an idea to help me ?
Thanks in advance.
If you have Eclipse (same version) installed on your local system, Then you can install plugin through update site. Just check what all it depends on and what additional plugins are downloaded.
Once done with this you can locate new plugins in /plugins folder. Just copy these to your remote machine. This should usually work. But it would sometimes depend upon OS for certain plugins. In your case Local and Target OS is different so there are some chances of this solution not working.
You could try mirroring the update site to a folder, and then use the folder as a local update site on the machine without internet connection.
Eclipse plugins usually depend on other plugins. It's kind of hard to trace the dependencies. It's better to download all dependencies using update site once, and you can distribute to other Eclipse dropins. Eclipse does not recommend overriding plugins directory since it may break existing functioning plugins. For Eclipse 3.4 or newer, you can use dropins which is an Eclipse feature for safe overriding. This way you don’t have to install plugin from update site every time you have to re-install your Eclipse. Read on How to install Eclipse plugins offline

installing glassfish on ubuntu karmic using synaptics package manager

I'm trying to learn to use glassfish for the first time. My IDE is netbeans and I've installed the glassfish plugin for netbeans. I opened up synaptics package manager and typed in glassfish. My choices were
imqv2
glassfish-activaton
glassfish-mail
glassfish-appserv
glassfish-toplink-essentials
glassfish-jmac-api
glassfish-javaee
I'm not sure what is in each package, or which package are needed. I can't seem to find anything that tells me anything descriptive about these packages.
I've seen a lot of tutorials on how to install glassfish, but I'd prefer to use apt-get / synaptics to install glassfish so that syntactics can take care of updating.
To strictly answer your question, I think that a typical install would at least include glassfish-appserv, glassfish-javaee, glassfish-toplink-essentials (for JPA).
But for development, I'd warmly recommend to use GlassFish v3 (because of the session preservation across deployments feature, to maximize productivity) and to install it manually in your home directory. Download the self-extracting installer file from here.
Do you want to run the latest and greatest software? It looks like Synaptic has Glassfish version 2 which is an entire major version out of date.
Just for the record: I love Ubuntu and their (well, Debian's) package management system. However, for any Java applications, I prefer to do manual installations. So, my Maven, Eclipse, Tomcat, Glassfish, etc. were all done through manual installs for the newest version... and because sudo apt-get install winds up throwing the app in some weird place and can have unexpected behavior.
Here is how you can do a manual install...
Download Glassfish: wget http://download.java.net/glassfish/v3/nightly/latest-glassfish.zip
Extract the archive anywhere on your filesystem
Inside your IDE such as Netbeans or Eclipse, setup a new server and point it at where you extracted the file
It's also useful to add a new environment variable to ~/.bashrc file, which will make it easier to start the server from the command-line, e.g. $GLASSFISH_HOME/bin/asadmin start-domain domain1
Another cool thing to try, if you're into maven, is to use the maven-embedded-glassfish-plugin. It's a clean way to get a web app up and running and not need to manually install glassfish and not even have to use an IDE.
You might also try asking this question at superuser.com if you really want to get it working with Synaptic.
i dont know if this here is still open...
but if you know how to handle shell commands on ubuntu then you might find this here helpful:
http://www.nabisoft.com/tutorials/glassfish/installing-glassfish-311-on-ubuntu