Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-14448

Get s2i working with eclipse:jkube openshift-maven-plugin

    XMLWordPrintable

Details

    • % %
    • ?

    Description

      From Rohan Kumar and Marc Nuri San Felix :
      Fabric8 Maven Plugin is soon going to be deprecated in the coming months. Would it be possible for the FUSE team to migrate to Eclipse JKube[3] in future? With Eclipse JKube, Fabric8 Maven Plugin would be replaced by JKube's Openshift Maven Plugin[4].
       
      [0] https://github.com/fabric8io/fabric8-maven-plugin/commit/b43fcd56a56a78f0a100e8315e700ec36f284730
      [1] https://github.com/fabric8io/fabric8-maven-plugin/commit/76df5454d5406c7793aae6495c26e29310e44230
      [2] https://github.com/fabric8io/fabric8-maven-plugin/commit/5017b4c0a6e6c2a525f0e5a5de7e2af948616b86
      [3] https://github.com/eclipse/jkube
      [4] https://search.maven.org/artifact/org.eclipse.jkube/openshift-maven-plugin/1.0.0-rc-1/maven-plugin
       
      I ran a few tests with spring-boot-camel using openshift-maven-plugin 1.0.rc1 and it seems to be able to build and resource our project, but we are failing upon deployment on both Openshift 3.11 and 4.3.29.      The error I'm getting is in our run-java.sh script, it looks like the name of the quickstart JAR gets cut off :
       

      /usr/local/s2i/run: line 15: /opt/jboss/container/maven/default//scl-enable-maven: No such file or directory
      Starting the Java application using /opt/jboss/container/java/run/run-java.sh ...
      ERROR Neither $JAVA_MAIN_CLASS nor $JAVA_APP_JAR is set and 0 JARs found in /deployments (1 expected)
      INFO exec java -javaagent:/usr/share/java/jolokia-jvm-agent/jolokia-jvm.jar=config=/opt/jboss/container/jolokia/etc/jolokia.properties -XX:+UseParallelOldGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MaxMetaspaceSize=100m -XX:+ExitOnOutOfMemoryError -cp "." -jar 
      Error: -jar requires jar file specification
      Usage: java [options] <mainclass> [args...]
       (to execute a class)
       or java [options] -jar <jarfile> [args...]
       (to execute a jar file)
       or java [options] -m <module>[/<mainclass>] [args...]
       java [options] --module <module>[/<mainclass>] [args...]
       (to execute the main class in a module)
       or java [options] <sourcefile> [args]
       (to execute a single source-file program)
      Arguments following the main class, source file, -jar <jarfile>,
       -m or --module <module>/<mainclass> are passed as the arguments to
       main class.
      where options include:
      -cp <class search path of directories and zip/jar files>
       -classpath <class search path of directories and zip/jar files>
       --class-path <class search path of directories and zip/jar files>
       A : separated list of directories, JAR archives,
       and ZIP archives to search for class files.
       -p <module path>
       --module-path <module path>...
       A : separated list of directories, each directory
       is a directory of modules.
       --upgrade-module-path <module path>...
       A : separated list of directories, each directory
       is a directory of modules that replace upgradeable
       modules in the runtime image
       --add-modules <module name>[,<module name>...]
       root modules to resolve in addition to the initial module.
       <module name> can also be ALL-DEFAULT, ALL-SYSTEM,
       ALL-MODULE-PATH.
       --list-modules
       list observable modules and exit
       -d <module name>
       --describe-module <module name>
       describe a module and exit
       --dry-run create VM and load main class but do not execute main method.
       The --dry-run option may be useful for validating the
       command-line options such as the module system configuration.
       --validate-modules
       validate all modules and exit
       The --validate-modules option may be useful for finding
       conflicts and other errors with modules on the module path.
       -D<name>=<value>
       set a system property
       -verbose:[class|module|gc|jni]
       enable verbose output
       -version print product version to the error stream and exit
       --version print product version to the output stream and exit
       -showversion print product version to the error stream and continue
       --show-version
       print product version to the output stream and continue
       --show-module-resolution
       show module resolution output during startup
       -? -h -help
       print this help message to the error stream
       --help print this help message to the output stream
       -X print help on extra options to the error stream
       --help-extra print help on extra options to the output stream
       -ea[:<packagename>...|:<classname>]
       -enableassertions[:<packagename>...|:<classname>]
       enable assertions with specified granularity
       -da[:<packagename>...|:<classname>]
       -disableassertions[:<packagename>...|:<classname>]
       disable assertions with specified granularity
       -esa | -enablesystemassertions
       enable system assertions
       -dsa | -disablesystemassertions
       disable system assertions
       -agentlib:<libname>[=<options>]
       load native agent library <libname>, e.g. -agentlib:jdwp
       see also -agentlib:jdwp=help
       -agentpath:<pathname>[=<options>]
       load native agent library by full pathname
       -javaagent:<jarpath>[=<options>]
       load Java programming language agent, see java.lang.instrument
       -splash:<imagepath>
       show splash screen with specified image
       HiDPI scaled images are automatically supported and used
       if available. The unscaled image filename, e.g. image.ext,
       should always be passed as the argument to the -splash option.
       The most appropriate scaled image provided will be picked up
       automatically.
       See the SplashScreen API documentation for more information
       @argument files
       one or more argument files containing options
       -disable-@files
       prevent further argument file expansion
       --enable-preview
       allow classes to depend on preview features of this release
      To specify an argument for a long option, you can use --<name>=<value> or
      --<name> <value>.
      

       

      We should figure out how to get fuse quickstarts to work well with this plugin.   My guess is that it isn't a lot of changes necessary to our s2i.

      Attachments

        Issue Links

          Activity

            People

              tcunning@redhat.com Thomas Cunningham
              tcunning@redhat.com Thomas Cunningham
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: