I'm coming from NetBeans and evaluating others and more flexible IDEs supporting more languages (i.e. Python) than just php and related.
I kept an eye on Eclipse that seems to be the best choice; at the time I was not able to find an easy solution to keep the original project on my machine and automatically send / syncronize the files on the remove server via sftp.
All solutions seems to be outdated or stupid (like mounting a smb partition or manually send the file via an ftp client!
I'm not going to believe that an IDE like Eclipse doesn't have a smart solution of what I consider a basic feature of an IDE, so I think I missed something... On Eclipse forums I've seen the same question asked lots of time but without any answer!
Some suggestions about is strongly apreciated otherwise I think the only solution is stick on one IDE each language I use that seem to be incredible on 2018.
I'm developing on MacOS and the most interesting solution (kDevelop) fails on building with MacPorts.
Thank you very much.
RSE is a very poor solution, as you noted it's a one-shot sync and is useless if you want to develop locally and only deploy occasionally. For many years I used the Aptana Studio suite of plugins which included excellent upload/sync tools for individual files or whole projects, let you diff everything against a remote file structure over SFTP when you wanted and exclude whatever you wanted.
Unfortunately, Aptana is no longer supported and causes some major problems in Eclipse Neon and later. Specifically, its editors are completely broken, and they override the native Eclipse editors, opening new windows that are blank with no title. However, it is still by far the best solution for casual SFTP deployment...there is literally nothing else even close. With some work it is possible to install Aptana and get use of its publishing tools while preventing it from destroying the rest of your workspace.
Install Aptana from the marketplace.
Go to Window > Preferences > Install/Update, then click "Uninstall or update".
Uninstall everything to do with Aptana except for Aptana Studio 3 Core and the Aptana SecureFTP Library inside that.
This gets rid of most, but not all of Aptana's editors, and the worst one is the HTML editor which creates a second HTML content type in Eclipse that cannot be removed and causes all kinds of chaos. But there is a workaround.
Exit Eclipse. Go into the eclipse/plugins/ directory and remove all plugins beginning with com.aptana.editor.* EXCEPT FOR THE FOLLOWING which seem to be required:
com.aptana.editor.common.override_1.0.0.1351531287.jar
com.aptana.editor.common_3.0.3.1400201987.jar
com.aptana.editor.diff_3.0.0.1365788962.jar
com.aptana.editor.dtd_3.0.0.1354746625.jar
com.aptana.editor.epl_3.0.0.1398883419.jar
com.aptana.editor.erb_3.0.3.1380237252.jar
com.aptana.editor.findbar_3.0.0.jar
com.aptana.editor.idl_3.0.0.1365788962.jar
com.aptana.editor.text_3.0.0.1339173764.jar
Go back into Eclipse. Right-clicking a project folder should now expose a 'Publish' option that lets you run Aptana's deployment wizard and sync to a remote filesystem over SFTP.
Hope this helps...took me hours of trial and error, but finally everything works. For the record I am using Neon, not Oxygen, so I can't say definitively whether it will work in later versions.
Related
some questions:
i unzipped the full offline distribution (400+ mb) to C:\Program Files\Play2.4
Unzipping created a directory "activator-dist-1.3.5" within which are bin, lib, repository, templates, etc.
i assume i put the contents of activator-dist-1.3.5 into C:\Program Files\Play2.4?
i setup an user environment variable name: PLAY_HOME, value: C:\Program Files\Play2.4 and then added ;%PLAY_HOME% to the end of the system variable "Path"
i've tried calling "play" from dos both with and without "activator-dist-1.3.5" directory and both return "play is not recognized as an internal or external command"
some other answers to this question mention the root play dir should have "play.bat" but all i see is "activator.bat"
i read readme.html and opened activator.bat, it launched a dos window, which promptly closed.
http://localhost:8888/home goes nowhere.
For those who don't yet speak "play", what is Activator UI?
Since play 2.3, the play command was replaced with the activator command. Take a look to this.
If you put the folder activator-dist-1.3.5 into C:\Program Files\Play2.4 then your enviroment variable must be set to C:\Program Files\Play2.4\activator-dist-1.3.5\bin. You can also put that path directly into the PATH environment variable.
Activator UI is a web aplication that helps you create play applications. You can think of it as the graphical version of the activator command line tool. Here is the documentation
ok, here is what ive figured out:
the environment variable has to point to the bin directory (thx Victor)
from w/in dos window (the "console"), cd to the the root play dir (not bin) and type "activator" not "play"
all other documentation and stackoverflow answers refer to the pre 2.3 versions of play and will not help you.
then a bunch of stuff happens: online maven call (even though i downloaded the offline dist) and a bunch of calls to the play root dir/repository for jars.
of course localhost:9000 and localhost:8888 still get connection refused.
now if you manually open activator.bat in root play dir it launches another dos window, makes a network call (firewall allow) and opens a browser win to: http://127.0.0.1:8888/home which is some sort of "welcome to activator" screen with sample apps .. sort of like the tomcat mngt page.
i hope to only define and start/stop apps from w/in my IDE, so eventually i'll be looking for how to disable this default activator behavior
next up.. how to setup intelliJ:
i went here: https://www.playframework.com/documentation/2.4.x/IDE and defined an SBt task instead of a play task in run/debug configurations of my new project.
now project start makes maven calls for jars but then dies on:
[error] Server access Error: Connection timed out: connect url=...repo.typesafe.com/typesafe/ivy-releases/org.apache/apache/14/jars/apache.jar
stopping and restarting did a bunch more maven calls (really slow) but eventually "done updating" and localhost:9000/ now shows welcome screen :)
not completely painless but certainly simpler than a spring app
onEdit:
sorry play, but i've moved to spring boot because:
i create new projects by copying existing and making changes. its much faster than creating a new proj from scratch. Thus the activator thing (which does not work) is not useful to me and just represents a security prob (like apache web management screen) that need be disabled
no where is there a clear, concise and complete list of settings to get play running correctly in intelliJ (the 2nd most popular IDE avail)
asynchronous, non-blocking and micro services are not unique to play and spring (or others) can be made to work in a similar fashion
We have so many technologies to learn and it does'nt make sense to invest a lot of time mastering one with limited corporate buy in
i want to stop/start from w/in my IDE and not have to have a bunch of dos windows open. i know this is possible in play, but documentation makes it feel as though its not the preferred method
although i appreciate that the play directory structure is less flexible, its still not the command/controller/manager/dao/model world that is the most often seen for java apps
i investigated play because spring was getting to the point of having too many ways to configure too many things in too many places that were documented differently across versions. Also, large sub-projects in spring (like security) garnered their own books on the subject because they were so complex to figure out. At the end of the day, the level of security (for example) needed (or the manner in was implemented) went beyond what avail via simple configuration and after all the customization we were left wondering whether spring security just got in the way instead of providing real time saving and usefulness.
Spring boot hopes to help in that its an opinionated configuration where a collection of configuration basic best practices are encouraged/enforced.
and lets re real.. time saving on a slightly more concise language or a slightly different proj structure or dynamic class loading is not whats important.
The majority of time spent on projects, by far, is the time spent researching, thinking and investigating architectures, technologies, databases and presentation schemes.
I prob only spend 20% of my time coding and 80% trying to figure out the strategic vision needed to create software that has maximum usefulness and is "future friendly" (not needing to be re-coded every 3 years)
so far i've deleted my project and recreated about 10 times.. trying diff settings, still w/ no luck.
checking google play mailing group, i tried to create via activator ui.. but could not launch activator until i deleted the RUNNING_PID file in the play root dir
now i'm back at: http://127.0.0.1:8888/home to create a new app
at create new proj i get error: "cannot find project/build.properties".
lets try adding a blank build.properties where its expected.. nope, error: "destination already has files in it"
not that it really matters, sample templates have no knowledge of IDE and thus provide no insight into how to configure IJ. New\Import project does not list IJ as an option in choosing an external model
...whatever...
"Mr McKitrick.. after careful consideration ..."
trying to get working in IJ 14 ultimate:
jamesward.com has a tutorial and video, but its for older versions of IJ and play and only covers a small % of necc. configurations.
jetbrains has a tutorial but it also only covers play 2 and older IJ which does not translate to 14 and 2.4
https://www.playframework.com/documentation/2.4.x/IDE helps, but just w/ setting up an SBT Task
all the other project settings are a mystery for example:
project source need be defined to even show your project directories in proj tree
facet setup add does not list scala as option
why is scala lib pointing to users[me].ivy2\cache..? (i would think all necc libs are w/in play root\lib
should i setup a global lib pointed to play\lib?
run/debug config need env var pointed to PLAY_HOME?
basically all classes are not being resolved in IJ editor.
project structure lists 109 problems like:
Library SBT: joda-time:joda-time:2.3:jar is not used [Fix]
seems like i'm missing a global lib definition.
i'm able to get my app running, but i dont know how useful its going to be when the 2nd most popular IDE throws red bars at every import: "play."
Possible silly question alert.
Being a bit of a hoarder, when I noticed that you can check all available sources after downloading Eclipse and then download and install all of those plugins I was ecstatic! I don't have to do that all manually! Yet I've tried it twice and each time I try to install all of them I can't boot Eclipse back up (it just hangs on the splash screen with no loading messages). I've tried deleting my .metadata folder and running it via ./eclipse -clean but both haven't helped. Is it just not possible to run with every single plugin installed?
Thanks!
"Hoarding" can turn into a very bad habit.
Maybe this is your chance to learn to you should try to resist the impulse "add more, please".
Keep in mind that Eclipse is a TOOL to help you creating better software. It can't help you when you blow it up to a degree that it is just busy with managing all the things you added.
I would even suggest to act in an opposite way: ONLY use the plugins and features that help you to get your job done. But for those plugins - learn to USE all the functionality that they offer to you. So, if you want please the "inner hoarder" in you: tell him to hoard knowledge; not things. "Things" consume space, and finally "energy" - there are good reasons that the Chinese art of "Feng Shui" asks people to keep LESS items around.
I am experimenting with a combination of Vagrant+VirtualBox+JRebel+Eclipse+Tomcat to develop a Java Servlet application. My Tomcat instance runs in a VirtualBox VM, which for Eclipse purposes means it is a remote server. I was able to get hot deploying (JRebel) and debug mode working.
I haven't yet found a good way to get the logs to show up in Eclipse, though. Ideally, I'd like something very similar to the Console view that Eclipse/WTP gives for local Tomcat instances. Some features I like:
Lines in stack traces are clickable, taking me right to the source file
Easily searchable
Highlighting (errors show up in red)
Shows up right in my IDE
Can be cleared when I'm sick of seeing too much
The first two features (clickable and searchable) are the most important to me. Does anyone know of a plugin or separate app that can accomplish this?
LogViewer appears to be abandoned (and possibly non-functional in current Eclipse versions), and JLV doesn't appear to have clickable source lines.
NTail might do the job. It hasn't been updated since 2010, but it seems to work on Eclipse Luna.
I am using the Weblogic Workshop for Portlet development. It's built on Eclipse. I upgraded my Eclipse from 3.2 to Weblogic Workshop.
The problem is that everytime I start the Workshop it gives me an upgrade information that I need to upgrade my projects as they were created with older version of Eclipse.
This should have to be done only once, right? Not everytime. Is there a solution?
Text of message:
"Upgrade projects created with older release of Eclipse and/or related plugins."
Thanks,
Sid
Is your project in a source control system that may have made some files read-only? If so, use your source control client to "check out" all project files before opening the project in Eclipse. Then find files that have been changed by upgrade and check them back in.
If that doesn't apply to your situation, take a look at your Error Log view in Eclipse after upgrade. Are there any errors/exceptions in there? You may want to clear the log and repeat to get only the most recent problems. Use information that you gather to open a support ticket at Oracle. The problem that you are describing is likely a bug.
I had been using Netbeans all the while to develop Swing application. So far, I am a Happy Netbeans User
Currently, I had a project (GWT, J2EE and Swing), which I need to use Eclipse (Please do not ask Why)
Here is the step I had been taken.
Download Eclipse IDE for Java EE Developers (190 MB) from http://www.eclipse.org/downloads/ I thought this should be the correct choice, as I see most features are found in that edition http://www.eclipse.org/downloads/packages/compare-packages
After struggling a while to get use to the user interface of Eclipse, I still cannot find a Visual GUI Editor!
After doing some Googling, I realize I need to install something called Plugins
However, tones of plugins which had similar features has confused me, as I found
http://www.cloudgarden.com/jigloo/index.html
http://www.eclipse.org/vep/WebContent/main.php
http://code.google.com/p/visualswing4eclipse/
This makes me even more confuse? Which plugin I should use to develop a Swing based application? Most of them seems not up-to-dated. Or, is there any complete bundle I can download, where 1 click, will install all the necessary Swing development tools for me?
I just miss my Netbeans :( I really appreciate their team, who make the installation work so easy. One click button install, all the necessary tools just come to me
Eclipse users typically program UI by hand.