Hi Bob,
let me first say that ImageJ is free software and part of its success is
based on the user community making plugins and other information freely
available. Using ProGuard to obfuscate the bytecode of plugins is in
stark contrast to this spirit.
Anyhow, to answer the more generic question how to modify the java
options for ImageJ:
The Java options are in ImageJ.cfg. You can edit that file.
Under Linux and Windows, it is in the ImageJ directory.
On MacOS (at least the very old version that I have available),
right-click ImageJ, Show Package Contents, then open Info.plist. There,
the Java options are under "Java" (you may have to un-collapse that item).
Michael
________________________________________________________________
On 10.08.24 01:40, Robert Dougherty wrote:
Wayne (most likely),
Is it easy to provide an option to start ImageJ with the -noverify option, as in
java -jar -noverify -Xmx4096m Contents/Java/ij.jar
?
I'm trying to work around what seems like a bug using ProGuard to obfuscate
some plugins, and using -noverify is the only way I can find to prevent the
Exception quoted below when I try to run an obfuscated plugin. No error
without obfuscation and no error with obfuscation if I start ImageJ from the
command line with -noverify. Oddly, I have a few plugins that do not show this
problem and I can't find any obvious differentiating features. This flakiness
is why I think it is a bug.
Bob
java.lang.VerifyError: Expecting a stackmap frame at branch target 32
Exception Details:
Location:
Beamform_File_Prefs.run(Ljava/lang/String;)V @25: if_icmpge
Reason:
Expected stackmap frame at this location.
Bytecode:
0000000: 2a12 3d12 4eb8 008e b500 8312 4014 0076
0000010: b800 8d8e 3d1c 1101 68a2 0007 1101 683d
0000020: 1244 0eb8 008d 4a12 450e b800 8d39 0512
...
at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
at
java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3138)
at java.base/java.lang.Class.getConstructor0(Class.java:3343)
at java.base/java.lang.Class.newInstance(Class.java:572)
at ij.IJ.runUserPlugIn(IJ.java:242)
at ij.IJ.runPlugIn(IJ.java:210)
at ij.Executer.runCommand(Executer.java:152)
at ij.Executer.run(Executer.java:70)
at java.base/java.lang.Thread.run(Thread.java:830)
--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html