Hi All I have restructured the examples-ga module to fix a few issues and created separate child modules for each type of usages. There was also a minor bug related to the logger class name in commons-ga module, which I fixed. A new PR(*#203*) has been created. Kindly review the same and let me know if you see any issues with it.
https://github.com/apache/commons-math/pull/203 Thanks & Regards --Avijit Basak On Wed, 12 Jan 2022 at 20:55, Avijit Basak <avijit.ba...@gmail.com> wrote: > Hi All > > I have lost track of the jar creation process in the examples > module. Everytime before commiting I have executed examples using Eclipse > IDE which ran successfully. I need to modify the examples module. Sorry for > any inconvenience. Please find my additional responses below. > > >There are issues with the expected functionality of the "examples-ga" > module. > > >Assuming that the following command has been issued > > $ JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ mvn package > >and has completed successfully, executable JAR files should have been > >created under the "target" directories. > > >For example, issuing this command (example for the "neuralnet" module): > > $ java -jar > commons-math-examples/examples-sofm/tsp/target/examples-sofm-tsp.jar > >outputs > >---CUT--- > >Missing required option '-o=outputFile' > >Usage: <main class> [-hV] [-j=numJobs] [-m=maxTrials] [-n=neuronsPerCity] > > -o=outputFile [-s=numSamples] > >Run the application > > -h, --help Show this help message and exit. > > -j=numJobs Number of concurrent tasks (default: 8). > > -m=maxTrials Maximal number of trials (default: 10). > > -n=neuronsPerCity Average number of neurons per city (default: 2.2). > > -o=outputFile Output file name. > > -s=numSamples Number of samples for the training (default: 2000). > > -V, --version Print version information and exit. > >---CUT--- > > >The above thus shows that the program runs as expected (passing the > missing > >required argument produces the expected output file). > > >Doing the equivalent for the new examples, e.g. > > $ java -jar > commons-math-examples/examples-ga/examples-ga-tsp/target/examples-ga-mathfunctions.jar > >results in > >---CUT--- > >Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load > >library: /usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt.so > > at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2630) > > at java.base/java.lang.Runtime.load0(Runtime.java:768) > > at java.base/java.lang.System.load(System.java:1837) > > at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method) > > at > java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442) > > at > java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498) > > at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694) > > at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2648) > > at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830) > > at java.base/java.lang.System.loadLibrary(System.java:1873) > > at java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1399) > > at java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1397) > > at java.base/java.security.AccessController.doPrivileged(Native > Method) > > at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1396) > > at java.desktop/java.awt.Toolkit.<clinit>(Toolkit.java:1429) > > at java.desktop/java.awt.Component.<clinit>(Component.java:621) > > at > org.apache.commons.math4.examples.ga.tsp.TSPOptimizer.main(TSPOptimizer.java:62) > >---CUT--- > > >[Please note that the name of the JAR also looks wrong (a copy/paste > mistake?).] > > --There is an issue in the jar file name. But in my system the TSP > application executed successfully. The commands I have executed are given > below: > $ mvn package > $ java -jar examples-ga-mathfunctions.jar > JDK version in my local system is "1.8.0_301" > > --In the mvn command specified by you JAVA_HOME is assigned as > "/usr/lib/jvm/java-8-openjdk-amd64/" but during execution of jar it is > using java-11 Could you please confirm what is the JDK version used and > ensure same version is used for both. This issue usually comes if the JDK > is not properly installed. > > >Command > > $ java -jar > commons-math-examples/examples-ga/examples-ga-math-functions/target/examples-ga-mathfunctions.jar > >also fails, with the following error > >---CUT--- > >Error: Could not find or load main class > > >org.apache.commons.math4.examples.ga.mathfunctions.Dimension2FunctionOptimizer > >Caused by: java.lang.ClassNotFoundException: > > >org.apache.commons.math4.examples.ga.mathfunctions.Dimension2FunctionOptimizer > >---CUT--- > -- This is due to the wrong package name. I introduced a sub package based > on dimension but forgot to modify the same in the pom file. > > >I noticed that there is an example relating to "Dimension2" and another > >to "DimensionN". Isn't the former, in principle, a special case of the > latter? > --Yes, the former is the special case of the latter. But the way the > executable jar is generated I need to keep a single java file with the main > method and the number of dimensions needs to be passed as a program > argument. > --I shall make the changes and create a PR for the new feature branch. > > > Thanks & Regards > --Avijit Basak > > On Sun, 9 Jan 2022 at 01:01, Gilles Sadowski <gillese...@gmail.com> wrote: > >> Hello. >> >> I've also started to take a look. >> >> There are issues with the expected functionality of the "examples-ga" >> module. >> >> Assuming that the following command has been issued >> $ JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ mvn package >> and has completed successfully, executable JAR files should have been >> created under the "target" directories. >> >> For example, issuing this command (example for the "neuralnet" module): >> $ java -jar >> commons-math-examples/examples-sofm/tsp/target/examples-sofm-tsp.jar >> outputs >> ---CUT--- >> Missing required option '-o=outputFile' >> Usage: <main class> [-hV] [-j=numJobs] [-m=maxTrials] [-n=neuronsPerCity] >> -o=outputFile [-s=numSamples] >> Run the application >> -h, --help Show this help message and exit. >> -j=numJobs Number of concurrent tasks (default: 8). >> -m=maxTrials Maximal number of trials (default: 10). >> -n=neuronsPerCity Average number of neurons per city (default: 2.2). >> -o=outputFile Output file name. >> -s=numSamples Number of samples for the training (default: 2000). >> -V, --version Print version information and exit. >> ---CUT--- >> >> The above thus shows that the program runs as expected (passing the >> missing >> required argument produces the expected output file). >> >> Doing the equivalent for the new examples, e.g. >> $ java -jar >> commons-math-examples/examples-ga/examples-ga-tsp/target/examples-ga-mathfunctions.jar >> results in >> ---CUT--- >> Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load >> library: /usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt.so >> at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2630) >> at java.base/java.lang.Runtime.load0(Runtime.java:768) >> at java.base/java.lang.System.load(System.java:1837) >> at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method) >> at >> java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442) >> at >> java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498) >> at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694) >> at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2648) >> at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830) >> at java.base/java.lang.System.loadLibrary(System.java:1873) >> at java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1399) >> at java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1397) >> at java.base/java.security.AccessController.doPrivileged(Native >> Method) >> at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1396) >> at java.desktop/java.awt.Toolkit.<clinit>(Toolkit.java:1429) >> at java.desktop/java.awt.Component.<clinit>(Component.java:621) >> at >> org.apache.commons.math4.examples.ga.tsp.TSPOptimizer.main(TSPOptimizer.java:62) >> ---CUT--- >> >> [Please note that the name of the JAR also looks wrong (a copy/paste >> mistake?).] >> >> Command >> $ java -jar >> commons-math-examples/examples-ga/examples-ga-math-functions/target/examples-ga-mathfunctions.jar >> also fails, with the following error >> ---CUT--- >> Error: Could not find or load main class >> >> org.apache.commons.math4.examples.ga.mathfunctions.Dimension2FunctionOptimizer >> Caused by: java.lang.ClassNotFoundException: >> >> org.apache.commons.math4.examples.ga.mathfunctions.Dimension2FunctionOptimizer >> ---CUT--- >> >> I noticed that there is an example relating to "Dimension2" and another >> to "DimensionN". Isn't the former, in principle, a special case of the >> latter? >> >> >> Regards, >> Gilles >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >> For additional commands, e-mail: dev-h...@commons.apache.org >> >> > > -- > Avijit Basak >