0 votes
1 view
The first error message appears when I try to generate the "Business Model":
    Error while generating model

                Generic error

I have this message in the file "knowageMeta.log".

    01 ago 2020 22:32:13,603 ERROR it.eng.knowage.meta.generator.utils.Compiler.compile:125 - Cannot find Java System compiler     during compilation of jpa classes, check if JDK is correctly installed.
    01 ago 2020 22:32:13,624 ERROR it.eng.knowage.meta.service.MetaService.buildModel:793 - Error during metamodel generation       :java.lang.NullPointerException

I have set the following environment variables:
    echo $JAVA_HOME 
         /usr/lib/jvm/java-8-openjdk-amd64
    echo $JAVA_HOME
        /usr/lib/jvm/java-8-openjdk-amd64
    echo $PATH
        /usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
I run the script "./knowage_startup.sh" from the user "root"

I would appreciate your support to continue moving forward.

Thank you so much,
Environment Version: 7.1.5 Logged User: Knowage Administrator Tenant: DEFAULT_TENANT /// Debian 10 /// Apache Tomcat/8.5.43 /// Google Chrome Versión 84.0.4147.89 (Build oficial) (64 bits)
asked Aug 3, 2020 in Business Model by econtreras (160 points) | 1 view
This tipically happens when a JRE is detected instead of a JDK. Is there any JRE_HOME defined?

It is certainly what I saw in all the documentation and in other answers here. Now this value:

         echo $JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64

I put the JRE_HOME this value to test: 

    echo $JRE_HOME
        /usr/lib/jvm/java-8-openjdk-amd64/jre
and I keep getting the same error.
I even put all the .sh files in the beginning lines  the following:
      # Ernesto
     export JRE_HOME = / usr / lib / jvm / java-8-openjdk-amd64 
     export JAVA_HOME = / usr / lib / jvm / java-8-openjdk-amd64
     ###### 
for each file:
          /home/econtreras/RMS40/Knowage-Server-CE/bin/catalina.sh    
     /home/econtreras/RMS40/Knowage-Server-CE/bin/daemon.sh 
        /home/econtreras/RMS40/Knowage-Server-CE/bin/digest.sh 
       /home/econtreras/RMS40/Knowage-Server-CE/bin/knowage_shutdown.sh 
       /home/econtreras/RMS40/Knowage-Server-CE/bin/knowage_startup.sh 
      /home/econtreras/RMS40/Knowage-Server-CE/bin/setclasspath.sh 
       /home/econtreras/RMS40/Knowage-Server-CE/bin/setenv.sh 
       /home/econtreras/RMS40/Knowage-Server-CE/bin/tool-wrapper.sh
But nothing,

I would really appreciate your support
JRE is not enough, you must have a valid JDK. In case both JAVA_HOME and JRE_HOME are defined, JRE_HOME wins, therefore you should remove the JRE_HOME variable.

Certainly I did not have a valid JDK, although I assumed that I had installed it. 

I re-verified it with a java program: 

       System.out.println (System.getProperty ("java.home")); 

       System.out.println (ToolProvider.getSystemJavaCompiler ()); 

   The last line returned null 

I reinstalled Java 8 and the situation was solved: 

        apt-get update 

        apt-get install software-properties-common 

        apt-add-repository 'deb http://security.debian.org/debian-security stretch / updates main' 

        apt-get update apt-get install openjdk-8-jdk 

Now the java program returns: 

     System.out.println (System.getProperty ("java.home")); 

                  / usr / lib / jvm / java-8-openjdk-amd64 / jre 

    System.out.println (ToolProvider.getSystemJavaCompiler ()); 

                com.sun.tools.javac.api.JavacTool@330bedb4 

Thank you very much to all,

Please log in or register to answer this question.

1,553 questions
1,017 answers
2,037 comments
2,567 users