Can I get the version of i4jruntime.jar that was used to launch an application from within the application? - install4j

I would like to log which version of install4j has just launched my application for diagnostic purposes in the future when a user contacts us for help with a problem.
I know i4jruntime.jar is put in the application's classpath by the install4j launcher but can't see a documented way to find which version of install4j is being used.

As of 7.0.11, there is no good way to do so. In the upcoming 8.0 release, you will be able to call
Variables.getCompilerVariable("sys.install4jVersion")
in your code.

Related

Why is my Google Cloud Platform for Eclipse resulting in Error Not Found?

I upgraded Eclipse and moved to Google Cloud Platform for Eclipse for my existing Standard App Engine project. I also moved to Java 8.
Now, when I deploy my app, the size shown in the console is only 7.1mb vs. 220mb prior to the upgrade. And when I try to go to the app after deployment I get an Error: Not Found message.
Is there something in the setup for my new configuration that would be causing this?
Your question is indeed somewhat broad; you'll need to provide all necessary detail. A correspondingly general information page might help here, though, namely Eclipse "How-to Guides".
Have you adapted and re-written your app for Java 8? If so, in which way? Have you edited your app.yaml configuration file accordingly?
Cloud Tools for Eclipse writes out the app-to-be-deployed to a directory in your workspace called <workspace>/.metadata/.plugins/com.google.cloud.tools.eclipse.appengine.deploy/tmp/<timestamp>/staging-work/exploded-war, where <timestamp> is the time of the last two deploys. Look at the exploded-war directory and see what files are missing. You may then get a better sense of what needs to be remediated.

Unable to select the golang sdk in Intellij IDE

I am following the following blog to configure my golang environment (OS-X machine):
http://webapp.org.ua/dev/intellij-idea-and-go-plugin/
But, whenever I try to add go sdk (installed at /usr/local/go), it appear blank selection for the SDK.
Please suggest me, if I am missing something.
This page lists the SDKs which have already been configured in IntelliJ IDEA. You need to press the "Configure..." button and point the plugin to your SDK installation. Once you do this, it will become available in the SDK list for new project creation.
I would suggest to use the following for writing golang application:
https://groups.google.com/forum/#!msg/golang-nuts/tuGS99f-kqk/Tl5KqNG0js0J
https://github.com/visualfc/liteide
If you want to use IDEA with golang, we've made a lot of progress in the past months. Please install the latest release from github releases and give it a try.
As the name suggests, there are a few issues here and there but it should work much better that the current release of the plugin.
You'll find it a class over the other offerings for writing go apps ;) (disclaimer I'm one of the contributors to the plugin, I'm very biased)

Update java with java?

I was looking around and couldn't find this anywhere, but is there any way to update the JRE through a java application and then to restart said application using the new JRE?
Updating the JRE from within a running Java app. is not something that is commonly done.
Instead look to deployJava.js for ensuring a particular major version of Java is installed, and Java Web Start for ensuring a particular micro-version is available.
These technologies are both related to launching rich clients (applets and desktop apps.) so if the app. has a GUI as mentioned here it should be 'all systems go'.

Oracle or 3rd party service for determining 'latest Java version'

Is there a service available that responds with the latest version of Java that's available?
I'm writing system check for an application that uses applets. As part of the check I'd like to inform users if a new version of Java is available for download. Is there any online service that simply responds with the version number for the latest Java version?
How about a different strategy of 'leave it to the manufacturer'?
The JRE is configured by default to be auto-updating to the latest version Oracle considers to be stable enough for general use. Best leave it to the auto-update feature.
Run-time testing
Of course, there is always How do I test whether Java is working on my computer?
FireFox
An old version of Java has been detected on your system.
Update Java by clicking the button below:
A polite way of saying 'no plug-in found for FF'.
Chrome
User Friendly
But ultimately either way, leave it to the end-user's discretion as to what version to use, and whether to update.

Eclipse Hot Code Replace Fail - republish web application

I use the Hot Swap java debugging feature with web app on Tomcat. After some class signature change, I got "Hot Code Replace Fail" Eclipse dialog - I understand that.
What I want in such case is to republish the application (I can do that) and work with the newly deployed code. However the debugger stil complains, until I restart the server. Because other apps and long startup I don't want that.
Is there a way how to tell to the debugger, that there is the new class version already reloaded in a new webapp classloader and that it is save to continue?
Thanks.
Why don't you try with JRebel?
JRebel is a JVM Java Agent that integrates with application servers, making classes reloadable with existing class loaders. Only changed classes are recompiled and instantly reloaded in the running application.
JRebel plugs into IDEs and build systems. Classes and static resources are loaded straight from the workspace.
http://zeroturnaround.com/software/jrebel/
Regards,
Andrea
There is a old PHD project. The guy who made it was brought by Oracle but his work didnt made it to the Java 8 and hopefully will be seen in Java 9 but is more likely to be in Java 10. There is a new Version of this for Java 8 I guess. I havent tried it yet.
My Original Question for additional information: Advanced Code Hot Swapping in JDK 8?
And the Project page on Github: https://github.com/dcevm/dcevm
With this you can hot replace almost any class change freeing you from restarting the JDK ever after. (beside sideeffects for static objets and singletons but that would be logical)
Did you try Server Options - Serve modules without publishing along with Publishing?
Also not sure what you are saying about other apps.