I would like to install both the Google-Eclipse plugin (which I believe also install the GAE SDK) for my Eclipse instance, so that I may take advantage of a lot of the IDE tools and features it comes with, and also so that I can run my app from inside Eclipse.
I would also like to install just the pure GAE SDK so that I can run my app outside of Eclipse on my regular system.
Because the GAE SDK is a diverse and complex beast, I am worried about having two instances of the GAE SDK installed on the same machine (setting conflicting ENV VARs, trying to open the same port number, etc.).
Obviously, I would take care to never be running the 2 GAE dev servers (1 that ships with the Eclipse plugin, and the other that ships with the pure SDK) at the same time, but that might not guarantee that I have 0 conflicts.
I would also be fine with just installing the Eclipse plugin if there was a way to configure the GAE SDK that it ships with to run both from Eclipse as well as the bash shell. That would probably be the easiest but I don't believe this is possible to do.
Any thoughts as to what my options are here? Thanks in advance!
You can do that by having a single SDK installed and using it for both Eclipse and also for bash shell.You can do that by following the steps below:
Download a Suitable GAE SDK from here and install it.
Open Eclipse and Select Help->Install new software.
In work with box enter the url as http://dl.google.com/eclipse/plugin/4.2 and from the list of available softwares select only "Google Plugin for Eclipse" software and select any other required plugin but not the SDKs. Keep it unchecked!
After installing the selected plugins, in Window->Preferences->Google->AppEngine click on add and then select the installation directory as the directory from step 1 and give a suitable name. Make it as default.
Now you are good to go.If you need to run from shell, invoke dev_appserver from the installation directory. Or if you want to run from from eclipse just run it from there.
Related
I would like to know if it is possible to configure the Java VM used by Eclipse to run in this way, that it uses JavaFX SDK libraries.
Please be aware! I don't want to build JavaFX applications on my own in Eclipse, e.g. by using E(fx)clipse or other plugins.
Another remark: I don't use Java development perspective in Eclipse or a Java project. So it won't work to add the external .jars of JavaFX as user libraries!
In my use case I have an third-party GUI application based on JavaFX that has to be started out of Eclipse.
If I try to start this application I receive the following error:
The system reqirements are not met.
Could not find: javafx.properties
in:
/Applications/Eclipse.app/Contents/Eclipse/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.macosx.x86_64_17.0.2.v20220201-1208/jre/lib
Your Java Virtual Machine seems not to support JavaFX,
required to run the XXX.
Please make sure you provide a valid path to the Java FX
modules during gui installation.
As you can see by the error message my Eclipse runs on a MacOS x64 system.
But I think the way to configure the VM of Eclipse should work on each system the same way.
Thank you.
Steve
If you have a third-party GUI application, then you do not need an IDE like Eclipse.
Ideally the publisher of your app would have provided the app as a package that includes the JavaFX/OpenJFX libraries as well as all the parts of a JDK/JVM needed to run that app on your Mac.
If the publisher gave you only the bare-bones app without the needed libraries & JDK/JVM, you can obtain a JDK/JVM bundled with those libraries.
At least two vendors supply a JDK with JavaFX/OpenJFX libraries:
ZuluFX by Azul Systems
LibericaFX by BellSoft
Both are available free-of-cost with optional support plans available for sale. Download either product as an installer specific to your Mac, while paying attention to either Intel-based Mac or Apple Silicon (ARM, AArch64) based Mac.
You can verify the install by using a console such as Terminal.app to run:
java --version
… and:
which java
You can also use the Finder to locate your installed JVMs by choosing Go > Go to Folder… where you paste:
/Library/Java/JavaVirtualMachines
If your app contains the necessary MANIFEST.MF file, you may be able to launch your app by double-clicking. If not, use a console such as Terminal.app with the java command to launch the app.
I have a JavaFx application on GitHub that is easy to use for Linux experts: git clone it and execute the run.sh script that executes java and javac on the main class. If they want to update to the newest version they can just use git pull on the master branch.
However I noticed that Windows users are often less versed in those technologies so I want to create an all-in-one installer for them. Also, on Windows, one of a few possible drivers may have to be installed.
I know that there are many Windows Java-installers available but I am looking for a specific feature set:
run even when Java is not already installed
preferably (1) include its own Java distribution so that the user doesn't have to install it or alternatively (2) check if Java SDK version >= 8 is already installed and if not download and install it for the user. I prefer option 1 because I found that Java is sometimes installed but not correctly configured.
ask the user where to install it, defaulting to Windows standards
clone the application from the GitHub repository and move it to the user defined path
compile the code
give the user the option to install one of the drivers
create a desktop link, start menu entry and uninstall entry
give full access rights to hardware (as far as that is possible with Java)
When the user starts the application, it should do a git pull and, if necessary, recompile (ideally just the classes that changed).
To share installation, we decided to work with docker. For each project, global dependencies are installed inside the container.
We are developping with Python (and Java, but at this time, let's speak about Python only ;) )
Working with Vim (for example), I want to use code completion, but because the entire libs are installed in container, my vim installation on host cannot access them. This is true with Java, Javascript, and so on and it's absolutly normal...
But is there any solution to be able to work with container, getting access to libs for IDE, without to install IDE in the container itself ?
But is there any solution to be able to work with container, getting
access to libs for IDE, without to install IDE in the container itself
?
The trick is to run your IDE from the container. Your IDE is installed on your host, you just run it in the container.
For this to work, you need an IDE container that has:
all the system requirements your IDE needs
can display GUI applications
has a volume mounted on the location of your IDE on your host
An example of all this with a well known Python IDE instead of vim is discussed here:
Warning: this has been validated on Ubuntu 14.04 only.
PyCharm Docker Integration
Why don't you checkout the official image for python?
https://registry.hub.docker.com/_/python/
It doesn't provide exactly what you're looking for but it supports a workflow where the container is built the same way as it should be run on your development machine (dependencies listed in the "requirements.txt" and downloaded using pip).
Hope this helps.
You may also try using cloud-based IDEs like eclipse che or cloud9.
It has support for docker and runs in a browser.
Update:
I just found out that eclipse che and cloud9 are not mature enough to run java apps, so you might want to try Intellij: https://github.com/marioluan/java-data-structures
I've tried building the CSEmptyTemplate project in eclipse for android but have run into a host of issues with it.
Looking at the documentation, it doesn't appear as if it should be this difficult.
Firstly, I've installed cygwin and installed the devel package to get make.exe and gcc compilers. I'm also using cygwin as part of the tool chain.
However, the error I keep getting is 'make: *** No rule to make target `all'. Stop.'.
Any advice on fixing these issues would be appreciated.
edit: Found the make files. I was just an idiot last night when working on this.
There shouldn't be any additional steps required to build Chilli Source for android on windows, just the simple steps listed on the website here: http://chilli-source.chilli-works.com/docs/?page_id=67
However setting up the Android Development Tools with the NDK can be a bit of a pain. Judging by the error your getting my gut feeling is that something isn't set up correctly there.
Chilli Source requires the latest versions of the SDK, NDK and ADT. Can you ensure you have:
Android API level 21.
The latest versions of the Built Tools, Platform Build Tools and Google Play Services.
NDK revision 10c.
The latest ADT is also missing a couple of things that means it can't be used out of the box.
It doesn't come with the native dev tools which can be acquired by doing the following:
Go to "Help" then "Install New Software..."
Select "Android Developer Tools Update Site - https://dl.google.com/android/eclipse". You make have to edit it to instead point to https://dl-ssl.google.com/android/eclipse
In Developer Tools select and install Android Native Development Tools.
It also doesn't come with ant. This isn't causing your issue, but it will cause issues later on, so get it following these steps:
Go to "Help" then "Install New Software..."
Select "Juno - http://download.eclipse.org/releases/juno"
In General Purpose Tools select and install Eclipse Plug-in Development Environment.
Now that you've got everything required, ensure that you've got it set up correctly:
The correct version of the SDK selected the Android tab in preferences.
The correct version of the NDK selected in the Android/NDK tab in preferences.
Android 5.0 selected in the Android tab in Project Properties.
Finally, on windows you also need Cygwin. It's been a while since I've used it (I'm not a fan of cygwin so I do my Android development in a Ubuntu virtual machine) but only the "devel" package is needed iirc, so make sure you've at least got that.
Hopefully ensuring all of that is set up correctly will fix your problem!
I've been reading up on PhoneGap and really like it. I'd like to see if I can use it with GWT to write Java apps that deploy to many different platforms (web, mobile web, android, iphone, winphone, etc.).
It looks like the PhoneGap SDK comes with different versions of cordova.js for each native platform you want to support. So it looks like the Ant build will have to somehow package the GWT-generated JavaScript to the correct version of cordova.js:
3098DJU39I4F9IF9.html + cordova-android.js
3098DJU39I4F9IF9.html + cordova-iphone.js
3098DJU39I4F9IF9.html + cordova-windows-phone.js
I'm generalizing here, and I know those aren't the correct file names (although, obviously, 3098DJU39I4F9IF9.html is the GWT-generated code).
But then something has to kick-off PhoneGap's ability to take each of those pairings and produce the correct packaged container: an APK, IPA or XAP for each platform respectively.
So I first ask: how does a PhoneGap developer normally go from 3098DJU39I4F9IF9.html + cordova-android.js to having a myapp-android.apk, or from 3098DJU39I4F9IF9.html + cordova-iphone.js to having a myapp-iphone.ipa? Does the PhoneGap SDK have a command-line tool that does this?
Once I understand that much, I'm trying to figure out how to automate this packaging/binding process from an Ant build. Are there any known Ant tasks that already do this? Or do I need to kick off a shell from inside Ant and just run the shell commands? Thanks in advance!
#rooftop is right, you have to build the native app using native SDK even if you are using Phonegap. The benefit lies in creating the UI and behavior of the app using HTML5, CSS and JS.
So, if you are not using any of the native functionality or custom Phonegap plugins, you can just have a bare minimum package structure of native apps for each of the platforms and then simply move the correct files into the concerned folders (in Android it is assets folder) of those package structures using copy task of ant. Thereafter, you can use command line compile and build tools specific to each platform to build and package the app.
Hope this helps.
EDIT: Added more details about other platforms
Basically, all SDKs contains command line tools. In fact I used to compile and build from command line, to automate the process, even for standard Windows apps (Console, Web Apps etc) which are usually performed via Visual Studio's easy to use environment. You can see this for extended tools over standard SDK for Windows phone development.
Similarly iOS is based on UNIX so there we get the power of majority of command line tools for compile, build and automation and XCode provides command line tools for building.
Further for Android, you may find this helpful.
You should really be using Cordova, the renamed version of PG that is an Apache project now. Command line tools were recently released for Cordova. I have not used them so I am not sure if they will help you with building or not. Typically the way you woul create the binary for the device, say an IPA file for iOS would be to actually use Xcode and the native SDK to compile and package your app. This means you need all of the native tools and SDK for each platform. There is also a hosted service from Adobe that will build the native bits for you for a fee. It used to be called phone gap build, not sure if that is still the name. You might want to look at IBM Worklight, as it does many if the things you asked about. The developer edition is free an Eclipse based for the IDE.