How do you configure JRE-related error messages in Install4j - install4j

We have an installer with a bundled JRE. Since we want users to only use the bundled JRE we have turned off all entries from "JRE search sequence". However that creates some unfortunate error messages. E.g. if the bundled JRE is removed the user gets a message about defining "EXE4J_JAVA_HOME", we would prefer a message just telling the user that the bundled JRE is missing. Is this possible?

On the General Settings->Languages step, set up a custom localization file, then open the built-in editor and click on the "Override messages" tool bar button. Search for the message you want to change and click on OK. Then you can change the text in the editor.

Related

syso shortcut isn't working in Eclipse IDE

so when I'm trying to use the shortcut syso in eclipse IDE it opens a suggestion pop up instead of just displaying System.out.println like it used to any suggestions to fix this? (I added an example to show what's happening)
You could use the Type Filters preference page for this, as you almost never want to refer to anything in the jdk.internals packages, and it will apply regardless of the JDK you're using.
See Nitin Dahyabhai's answer for the straightforward and recommended solution.
Alternatively, to avoid that the content assist proposes for syso also the type jdk.internal.misc.FileSystemOption, you can add to the system library the access rule Forbidden **/internal/** (assuming Hide forbidden references is enabled in Type Filters):
Go to Project > Properties: Java Build Path tab Libraries
Select Acceess rules which is a sub-node of the JRE System Library
Click Edit...
In the Type Access Rules dialog, click Add...
In the Add Access Rules dialog, enter **/internal/** click OK
In the Type Access Rules dialog, click OK
Click Apply and Close
Alternatively, you can change the name of the sysout template in the preferences in Java > Editor > Templates.

How do I prevent superDevMode from appearing in my arguments?

I'm using Eclipse (Kepler) for a GWT application and for some reason, superDevMode keeps appearing in my arguments. We are stuck with GWT 2.4 which does not know what superDevMode is. I remove the argument, hit Apply and Debug to start the app, but when I look at the arguments again, -superDevMode is in there again. I am assuming there is some property that belongs to 2.6 (the version that was installed with the Eclipse plugin), but I can't seem to find it.
Update: Below, Adam recommended that I go to the GWT tab and take it out of superdevmode. Here is a screenshot of that tab:
There isn't a way to do that. The large area at the top of the tab (above the Super Dev Mode group) suggested that something was supposed to be there, so I set the project's GWT to 2.6. Sure enough, there was a Super/Classic dev mode selection. I set it to classic, saved the settings, and then put the project back to 2.4. The GWT tab looked exactly as it does above and the arguments now has "-nosuperDevMode" in it, which is also not recognized by 2.4.
Any help would be appreciated.
Thanks,
CC
I found a temporary workaround that comes with a caveat: I made the Eclipse Run Configuration file read-only.
Example path:
<YOUR_WORKSPACE>\.metadata\.plugins\org.eclipse.debug.core\.launches\<YOUR_RUN_CONFIG_NAME>.launch
Then whenever you bring up the Dev Mode Run Configuration in Eclipse it still shows the -superDevMode flag, but when you click the Close button it now asks you if you want to save and you can press No.
The big caveat: if you actually do want to change the Run Configuration Eclipse will ask if you want to save, you press Yes, the dialog closes, but it didn't actually save.
Easiest fix is to shutdown Eclipse, manually edit the .launch file to remove -superDevMode, make the file read-only, then start Eclipse again.
Here's the bug report.
Go to GWT tab (3rd from left) and switch from Super Development Mode to Classic Development Mode

How can I step into a core java class method in Eclipse?

Hi I am going to dig a little more in Java so I would like to see how the program executed in the core class. For example, I would like to know how String.chatAt() is implemented, so I set breakpoint and tried to step into with debug mode. But I failed, I set bp at the second line when the program hit it, I used step into it still continue to the third line.
String a = "1231231241241";
char b = a.charAt(0);
System.out.println(b);
I think it should go into the source and show "no source found" and then give me a chance to attach the source file, right? But why it cannot get in? I can only use ctrl+right click on a method to get into source and attach.
It might be that your Eclipse is not setup to run with JDK, it might run with JRE instead.
Check this link.
Also, I might suggest you to try and use Maven for your Java projects management, it makes the life so much easier, when you get a grasp of it.
Most likely, you have the "Step filtering" functionality activated.
When debugging, it can sometimes be a bit annoying when the debugger steps into trivial classes whose internals you were not really interested in. Because of this, you can configure "Step filters". Classes or packages that are added as step filters will be ignored by the "Step into" operation.
If you want to configure which classes/packages should be included in the step filter, you can go to: Window --> Preferences --> Java --> Debug --> Step Filtering
My guess is that you have a java.* package filter defined there, meaning that the debugger will never step into any class within a package which starts with "java". Uncheck this package filter if you want to be able to step into java.lang.String
Alternatively, if you want to activate/deactivate step filtering completely, you can do this by clicking the Use step filtering button in the debug view, as shown below:
To be able to look at the code of libriaries you are using in your project you should configure your build path by attaching the soruces and JavaDoc.
Source Lookup
Seems like you dont have the "Source Attachment" set. Go to Preferences -> Java -> Installed JREs. Select the JRE you use and click "Edit", then set the Source Attachment to the src.zip that comes with the jdk by selecting the jars and clicking "Source Attachment" :).
You can do this with all of the jars at the same time by selecting them via shift-click.
for example in this System.out.println("test") piece of code if you want to step into System class just click on System and click F3 you will be redirected to attach the source code if you haven't already attached.Just attached the src folder of the jdk

Eclipse PDT Builder - What is it? How can I disable it?

I have a custom build-script for my site. I want to invoke this script whenever I press ctrl+b in eclipse.
I have configured a new builder seen at the top. While my own builder runs fine, eclipse also invokes "Validation" and "Script Builder". As far as I can tell these two do absolutely nothing, but take ages to complete.
I have tried to simply disable them, but eclipse just creates them again as another instance. (hence the duplicates)
I have tried to add an exclusion to * for the PHP Build Path, but that didn't do anything.
What do "Validation" and "Script Builder" do exactly? Why do they take so long and above all: how can I disable them?
The fact that these two builders are re-added after you disable them is a bug. Please file bug reports at bugs.eclipse.org. You will need to file separate bug reports as these two builders are maintained by different groups of people.
The Validation builder performs a variety of validation on artifacts in your project. You can see all validation that's performed under Validation property page in the same dialog. In that page, you can selectively disable the categories of validation that you don't want.
The Script Builder comes from PDT and presumably performs validation on the actual PHP artifacts. Outside of what you've already tried, I don't know of a way to disable it.
2 years later and I have the exact same problem with latest PDT.
This is what I did:
Validations:
Right-click project
Properties
Validation
Click checkbox "Enable project specific settings"
Click checkbox "Suspend all validators"
Script Builder:
Right-click project
Properties-
PHP Build Path
remove all folders from "Source folders on build path:"
or remove all but the ones you really want to be checked for syntax errors
Now "build" phase of PHP project is way shorter (like a half a second :)))
However, if you want to be able to navigate PHP source using Eclipse (like right-click on function and select "Open declaration" or pressing F3 on function name) then you need to leave folders in Script Builder with source you want to navigate. I had project with huge folders containing source of various frameworks and I removed those from "Source folders on build path:" and only left folder(s) with project source. That cut down build time to second or so.

Suppress checking for changes on file system in Eclipse RCP

Okay, I guess this question is too difficult, but it's worth a try.
I have an eclipse RCP application that edits HTML-files. I deal with the content of the files only in a W3C-Dom representation. There is some stuff that I can not do with that, so I the program edits each file each time after it is saved (save, save as). Of course, the file is then out of synch with the file system, and the next time I touch it, eclipse complains:
"The file has been changed on the file system. Do you want to replace the editor contents with these changes? (Yes/No)" I do not want to load the changes into the editor ("No")
Maybe there is a way to tell Eclipse programmatically to not check that file for changes, or to configure it to not check for changes on any file?
edit: Everything has to be done either programatically or by editing some XML files. I can not expect the user to do anything;-)
I find your question confusing.
I'm assuming you have access to the source code of the RCP application.
If you modify a file outside of Eclipse, Eclipse will respond with the message you mentioned when you want to edit the file inside of Eclipse. This is to protect you.
If you want Eclipse to stop responding with the message, you have to refresh any module you edit and save outside of Eclipse. Right click on the module name, and left click on Refresh or press F5.
Inside the RCP application, you can call the refreshLocal method of IResource in org.eclipse.core.resources to do the refresh.