Code Monkey home page Code Monkey logo

Comments (15)

dscho avatar dscho commented on July 24, 2024

Please refer to /home/hadim/local/imagej/core/legacy/target/surefire-reports for the individual test results.

Have you done that? This part:

LegacyServiceTest.testContext ยป NoClassDefFound Could not initialize class ima...

... unfortunately cuts off the interesting information.

from imagej2.

hadim avatar hadim commented on July 24, 2024

Yes I did however I don't understand the problem.

$ ls /home/hadim/local/imagej/core/legacy/target/surefire-reports
imagej.legacy.ExtraPluginDirsTest.txt
imagej.legacy.HeadlessCompletenessTest.txt
imagej.legacy.LegacyHeadlessTest.txt
imagej.legacy.LegacyImageMapTest.txt
imagej.legacy.LegacyServiceTest.txt
imagej.legacy.OverlayHarmonizerTest.txt
imagej.legacy.translate.LegacyUtilsTest.txt
imagej.legacy.translate.MergedRgbVirtualStackTest.txt
TEST-imagej.legacy.ExtraPluginDirsTest.xml
TEST-imagej.legacy.HeadlessCompletenessTest.xml
TEST-imagej.legacy.LegacyHeadlessTest.xml
TEST-imagej.legacy.LegacyImageMapTest.xml
TEST-imagej.legacy.LegacyServiceTest.xml
TEST-imagej.legacy.OverlayHarmonizerTest.xml
TEST-imagej.legacy.translate.LegacyUtilsTest.xml
TEST-imagej.legacy.translate.MergedRgbVirtualStackTest.xml

$ cat /home/hadim/local/imagej/core/legacy/target/surefire-reports/imagej.legacy.LegacyServiceTest.txt
-------------------------------------------------------------------------------
Test set: imagej.legacy.LegacyServiceTest
-------------------------------------------------------------------------------
Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.385 sec <<< FAILURE! - in imagej.legacy.LegacyServiceTest
testContext(imagej.legacy.LegacyServiceTest)  Time elapsed: 0.383 sec  <<< ERROR!
java.lang.ExceptionInInitializerError: null
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at javassist.ClassPool.toClass2(ClassPool.java:1112)
    at javassist.ClassPool.toClass(ClassPool.java:1093)
    at javassist.CtClass.toClass(CtClass.java:1181)
    at imagej.legacy.CodeHacker.loadClass(CodeHacker.java:789)
    at imagej.legacy.CodeHacker.loadClasses(CodeHacker.java:841)
    at imagej.legacy.LegacyInjector.injectHooks(LegacyInjector.java:156)
    at imagej.legacy.LegacyInjector.injectHooks(LegacyInjector.java:53)
    at imagej.legacy.DefaultLegacyService.<clinit>(DefaultLegacyService.java:105)
    at imagej.legacy.LegacyServiceTest.<clinit>(LegacyServiceTest.java:60)

testContextWasDisposed(imagej.legacy.LegacyServiceTest)  Time elapsed: 0.001 sec  <<< ERROR!
java.lang.NoClassDefFoundError: Could not initialize class imagej.legacy.LegacyServiceTest
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:202)
    at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:251)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:248)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
    at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

Full backtrace after mvn clean can be found here : https://gist.github.com/hadim/9293630

from imagej2.

dscho avatar dscho commented on July 24, 2024

I just merged a topic branch with rather extensive changes. Can you pull and try again, please?

from imagej2.

hadim avatar hadim commented on July 24, 2024

Good ! Building works since your new commit. Now I got an error trying to launch GUI

$ cd app/
$ mvn exec:exec -e
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building ImageJ Application 2.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- exec-maven-plugin:1.2.1:exec (default-cli) @ ij-app ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.030s
[INFO] Finished at: Sat Mar 01 18:41:40 CET 2014
[INFO] Final Memory: 12M/169M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project ij-app: The parameters 'executable' for goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec are missing or invalid -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project ij-app: The parameters 'executable' for goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec are missing or invalid
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:221)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.PluginParameterException: The parameters 'executable' for goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec are missing or invalid
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(DefaultMavenPluginManager.java:576)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:529)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:92)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 19 more
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginParameterException

Others interfaces (such as mvn -Dij.ui=awt exec:exec) work but are ugly.

screenshot from 2014-03-01 18 44 17

from imagej2.

dscho avatar dscho commented on July 24, 2024

As you can see from the log, exec:exec is not configured by default (setting the ij.ui property will activate a profile that does). Note that mvn -Dij.ui=swing exec:exec does not look much prettier. The reason is that we never tried to make that work.

Instead, what will work is to launch the main class imagej.Main from Eclipse.

Alternatively, you can populate an ImageJ.app/ directory structure in app/ by launching the shell script bin/populate-app.sh. That is how we test things just before uploading hot fixes to the update site.

from imagej2.

hadim avatar hadim commented on July 24, 2024

Cool. Thank you for the details !

from imagej2.

hadim avatar hadim commented on July 24, 2024

You may want to update http://developer.imagej.net/command-line to clarify instructions.

from imagej2.

dscho avatar dscho commented on July 24, 2024

Please note that I think I just fixed the issue with mvn -Dij.ui=swing exec:exec. It launched the (quite limited, proof-of-concept only) AWT UI.

Thanks for pointing out where the documentation needs to be fixed!

from imagej2.

hadim avatar hadim commented on July 24, 2024

From the last commit mvn -Dij.ui=swing exec:exec still show the ugly interface.

$ git l -1
0b4d6c9 Add Javadoc for DefaultLegacyEditor

from imagej2.

dscho avatar dscho commented on July 24, 2024

I did not quite push yet... Impatience! ;-)

from imagej2.

dscho avatar dscho commented on July 24, 2024

There you go: imagej/ImageJ@e758e7e

from imagej2.

dscho avatar dscho commented on July 24, 2024

And the documentation is also fixed to recommend using mvn -Pexec in app/. Thanks again!

from imagej2.

hadim avatar hadim commented on July 24, 2024

:-)

Perfect. Everything works fine !

from imagej2.

dscho avatar dscho commented on July 24, 2024

๐Ÿ‘

from imagej2.

ctrueden avatar ctrueden commented on July 24, 2024

There is one important thing that was left out of this discussion: mvn exec:exec is no longer the supported means of executing ImageJ2 from the command line via Maven.

@dscho actually changed it to mvn -P exec a while back, due to some conflicts with other uses of exec-maven-plugin. Remember? 5b33210

And the documentation is also fixed to recommend using mvn -Pexec in app/.

Thanks, @dscho!

from imagej2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.