Hi Curtis,
The shell script launcher at
https://github.com/tofi86/universalJavaApplicationStub
appears to work well. I was able to modify it to use a bundled JRE, pass JVM
args and set the working directory so that ImageJ finds the plugins folder.
There is an ImageJ distribution at
http://wsr.imagej.net/download/ImageJ-osx-java8.zip
that uses it.
-wayne
> On Jun 18, 2015, at 12:17 PM, Curtis Rueden <[email protected]> wrote:
>
> Hi Wayne,
>
> > Running mvn a couple of times resolved the issue.
>
> Great.
>
> > The next two issues are how to tell ImageJ where the plugins folder is
> > and how to set the memory limit. Is there a way to define in
> > Info.plist a "plugins.dir” property with the value “$APPDIR", which I
> > assume is the directory containing ImageJ.app?
>
> The way the JavaFX launcher works is that it picks up any JVM settings from
> the Java Preferences API at launch time. And all arguments passed on the CLI
> go straight to the main method args. So we will be updating ImageJ2 over the
> summer to process args on the Java side that were previously handled by the
> launcher, including -Dfoo style system property settings (since in most cases
> it is fine to set them early in the application startup). Of course, not all
> args will be possible to support this way—e.g. max heap size (but see below).
>
> Unfortunately, the current JavaFX launcher does not yet have a means to
> dynamically pass JVM args to Java itself. I have an SO issue posted about it
> [1] as well as a bug report in to Oracle (still under review; no public URL
> yet). Maybe the JavaFX team will add a way, since this packaging mechanism is
> being actively maintained and developed. But really it is not that urgent,
> since you can run "java -Dplugins.dir=... -jar ImageJ.jar" or whatever from
> the CLI as a developer. I.e.: the native launchers maybe do not need those
> features. Regardless, we will also add shell scripts to make common workflows
> (e.g., remote debugging) as simple as possible.
>
> From a user standpoint, for things like max heap size, there is a nice
> UserJvmOptionsService API [2] that we will use to expose common JVM settings
> in an options dialog box. It lets you set arbitrary arguments to pass to java
> (stored via the Java Preferences API) which take effect the next time the
> application is launched.
>
> See also imagej/imagej-launcher#33 on GitHub [3].
>
> Regards,
> Curtis
>
> [1] http://stackoverflow.com/q/30809330/1207769
> [2]
> http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/jvm_options_api.html
> [3] https://github.com/imagej/imagej-launcher/issues/33
>
> On Thu, Jun 18, 2015 at 10:30 AM, Rasband, Wayne (NIH/NIMH) [E]
> <[email protected]> wrote:
> Hi Curtis,
>
> Running mvn a couple of times resolved the issue. The next two issues are how
> to tell ImageJ where the plugins folder is and how to set the memory limit.
> Is there a way to define in Info.plist a "plugins.dir” property with the
> value “$APPDIR", which I assume is the directory containing ImageJ.app?
>
> Best regards,
>
> -wayne
>
>
> > On Jun 17, 2015, at 10:34 PM, Curtis Rueden <[email protected]> wrote:
> >
> > Hi Wayne,
> >
> > It looks like the Maven command failed to build the project. The directory
> > listing is only the source code from Git.
> >
> > The error indicates something went wrong downloading artifacts for the
> > Maven build system. The first time you run Maven it downloads many things,
> > but they all get cached into ~/.m2/repository, so subsequent builds are
> > much more reasonable. It looks like you had a connectivity-related error,
> > which can probably be resolved simply by running "mvn" again, or perhaps
> > "mvn -U" to force an update.
> >
> > If running "mvn" and/or 'mvn -U" a couple more times does not resolve the
> > issue, let me know.
> >
> > Regards,
> > Curtis
> >
> > On Wed, Jun 17, 2015 at 7:18 PM, Rasband, Wayne (NIH/NIMH) [E]
> > <[email protected]> wrote:
> > Hi Curtis,
> >
> > I was able to install maven after doing "brew update”. I followed your
> > instructions for building platform bundles for ImageJ 1.x, and it appeared
> > to work except for this error:
> >
> > [ERROR] Failed to execute goal
> > org.apache.maven.plugins:maven-enforcer-plugin:1.3.1:enforce
> > (enforce-rules) on project ij: Execution enforce-rules of goal
> > org.apache.maven.plugins:maven-enforcer-plugin:1.3.1:enforce failed: Plugin
> > org.apache.maven.plugins:maven-enforcer-plugin:1.3.1 or one of its
> > dependencies could not be resolved: Could not transfer artifact
> > org.eclipse.aether:aether-util:jar:0.9.0.M2 from/to central
> > (https://repo.maven.apache.org/maven2): Connect to
> > repo.maven.apache.org:443 [repo.maven.apache.org/199.27.76.215] failed:
> > Operation timed out -> [Help 1]
> >
> > It generated an ImageJA folder but there is no target folder in it. This is
> > what the ImageJA directory looks like:
> >
> > ImageJA
> > applet.html
> > aREADME.txt
> > build.xml
> > pom.xml
> > release-notes.html
> > src/
> > main/
> > deploy/
> > package/
> > macosx/
> > ImageJ-volume.icns
> > ImageJ.icns
> > windows/
> > ImageJ.ico
> > java/
> > ij/
> > CommandListener.java
> > CompositeImage.java
> > …
> >
> > Thanks for your help,
> >
> > -wayne
> >
> >
> >
> >
> > > On Jun 17, 2015, at 3:33 PM, Curtis Rueden <[email protected]> wrote:
> > >
> > > Hi Wayne,
> > >
> > > It may be that the Maven download is choosing a mirror with wrong SHA1.
> > > Or it may be that your download is truly incomplete.
> > >
> > > Did you try to rm the file out of /Library/Caches/Homebrew and do it
> > > again?
> > >
> > > Did you try "brew update" first?
> > >
> > > http://stackoverflow.com/q/12757694/1207769
> > > http://apple.stackexchange.com/q/57172
> > >
> > > Regards,
> > > Curtis
> > >
> > > On Wed, Jun 17, 2015 at 1:51 PM, Rasband, Wayne (NIH/NIMH) [E]
> > > <[email protected]> wrote:
> > > Hi Curtis,
> > >
> > > I am still not having much luck. This is what I get when I try to use
> > > "brew install maven” to install maven:
> > >
> > > bash-3.2$ brew install maven
> > > ==> Downloading
> > > http://www.apache.org/dyn/closer.cgi?path=maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz
> > > ==> Best Mirror
> > > http://apache.mesi.com.ar/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz
> > > ########################################################################
> > > 100.0%
> > > Error: SHA1 mismatch
> > > Expected: 1ce6641f7dcb4fd5785bedcdca2979da83f6d23f
> > > Actual: 2e7c28f3ebc08b95934336680365cfaac2697155
> > > Archive: /Library/Caches/Homebrew/maven-3.2.3.tar.gz
> > > To retry an incomplete download, remove the file above.
> > >
> > > Best regards,
> > >
> > > -wayne
> > >
> > > > On Jun 17, 2015, at 12:09 PM, Curtis Rueden <[email protected]> wrote:
> > > >
> > > > Hi Wayne,
> > > >
> > > > I just pushed some commits to the ImageJA repository [1] so that it can
> > > > also build the same platform-specific application bundles -- but for
> > > > vanilla ImageJ1 alone.
> > > >
> > > > To install Maven on your OS X machine, I recommend using Homebrew [2].
> > > > Then you can simply do:
> > > >
> > > > brew install maven
> > > >
> > > > And you'll have a working mvn command.
> > > >
> > > > Note that the application bundling feature requires Java 8, since it is
> > > > JavaFX-related functionality.
> > > >
> > > > So the commands you need to build platform bundles for ImageJ 1.x are:
> > > >
> > > > git clone git://github.com/imagej/ImageJA
> > > > cd ImageJA
> > > > mvn -Pdist
> > > >
> > > > And it should create them in the target/jfx/native folder. There should
> > > > be .dmg and a .pkg installers, which including a Java 8 runtime
> > > > embedded (in the ImageJ.app/Contents/PlugIns/Java.runtime folder
> > > > internally). There should also be an ImageJ.app in there. There is also
> > > > a double-clickable ImageJ.jar in the target/jfx/app folder (with empty
> > > > lib/ folder since ImageJ 1.x has no dependencies), as well another set
> > > > of installers that do _not_ include the JRE in the
> > > > target/jfx/native-nojre folder.
> > > >
> > > > Happy to help troubleshoot if you continue to have problems getting
> > > > this working.
> > > >
> > > > Regards,
> > > > Curtis
> > > >
> > > > P.S. You may notice one exception when building the ImageJA bundles,
> > > > relating to the version string not conforming to "x.y.z" pattern, but
> > > > it does not halt the build.
> > > >
> > > > [1] https://github.com/imagej/ImageJA
> > > > [2] http://brew.sh
> > > >
> > > > On Wed, Jun 17, 2015 at 9:59 AM, Rasband, Wayne (NIH/NIMH) [E]
> > > > <[email protected]> wrote:
> > > >
> > > > > On Jun 16, 2015, at 6:09 PM, Curtis Rueden <[email protected]> wrote:
> > > > >
> > > > > Hi everyone,
> > > > >
> > > > > For those curious about the new JavaFX packaging for ImageJ, the
> > > > > relevant bits are now merged to master. So you can play with it if
> > > > > you like:
> > > > >
> > > > > git clone git://github.com/imagej/imagej
> > > > > mvn -Pdist
> > > > >
> > > > > And you should get some platform-specific application bundles in
> > > > > target/jfx/app and target/jfx/native directories.
> > > > >
> > > > > Of course, the ImageJ Updater is still ignorant of the new directory
> > > > > structure (with core ImageJ stuff in the lib/ folder instead of
> > > > > jars/). And since the native launcher is no longer the ImageJ
> > > > > Launcher, many CLI flags do not work at the moment. But we will keep
> > > > > working on it!
> > > >
> > > > Hi Curtis,
> > > >
> > > > Is there an OS X application bundle that includes Java 8 available for
> > > > download? I have not had any luck getting the the ‘mvn' command to work.
> > > >
> > > > -wayne
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > ImageJ-devel mailing list
> > > > [email protected]
> > > > http://imagej.net/mailman/listinfo/imagej-devel
> > > >
> > >
> > >
> >
> >
>
>
_______________________________________________
ImageJ-devel mailing list
[email protected]
http://imagej.net/mailman/listinfo/imagej-devel