[jboss-jira] [JBoss JIRA] (DROOLS-1449) Confusing error messages in certain combination of invalid type declerations/imports
Jappie Klooster (JIRA)
issues at jboss.org
Thu Feb 23 08:03:00 EST 2017
Jappie Klooster created DROOLS-1449:
---------------------------------------
Summary: Confusing error messages in certain combination of invalid type declerations/imports
Key: DROOLS-1449
URL: https://issues.jboss.org/browse/DROOLS-1449
Project: Drools
Issue Type: Feature Request
Components: build, tools
Affects Versions: 6.5.0.Final
Reporter: Jappie Klooster
Assignee: Petr Široký
Priority: Minor
The following drools will make the error handling flip:
{code:drools}
package dialogue;
import java.util.Unkown
declare DefaultReply
symbol:Unkown
end
{code}
Will result in:
[ERROR] Failed to execute goal org.kie:kie-maven-plugin:6.5.0.Final:build (default-build) on project salve_drools: Execution default-build of goal org.kie:kie-maven-plugin:6.5.0.Final:build failed: A required class was missing while executing org.kie:kie-maven-plugin:6.5.0.Final:build: Ljava/util/Unkown;
[ERROR] -----------------------------------------------------
[ERROR] realm = extension>org.kie:kie-maven-plugin:6.5.0.Final
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/username/.m2/repository/org/kie/kie-maven-plugin/6.5.0.Final/kie-maven-plugin-6.5.0.Final.jar
[ERROR] urls[1] = file:/home/username/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20.jar
[ERROR] urls[2] = file:/home/username/.m2/repository/org/eclipse/aether/aether-util/1.0.0.v20140518/aether-util-1.0.0.v20140518.jar
[ERROR] urls[3] = file:/home/username/.m2/repository/javax/enterprise/cdi-api/1.0-SP4/cdi-api-1.0-SP4.jar
[ERROR] urls[4] = file:/home/username/.m2/repository/org/jboss/spec/javax/interceptor/jboss-interceptors-api_1.1_spec/1.0.1.Final/jboss-interceptors-api_1.1_spec-1.0.1.Final.jar
[ERROR] urls[5] = file:/home/username/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar
[ERROR] urls[6] = file:/home/username/.m2/repository/org/sonatype/sisu/sisu-guice/3.2.3/sisu-guice-3.2.3-no_aop.jar
[ERROR] urls[7] = file:/home/username/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[ERROR] urls[8] = file:/home/username/.m2/repository/com/google/guava/guava/13.0.1/guava-13.0.1.jar
[ERROR] urls[9] = file:/home/username/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar
[ERROR] urls[10] = file:/home/username/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[11] = file:/home/username/.m2/repository/org/sonatype/plexus/plexus-cipher/1.7/plexus-cipher-1.7.jar
[ERROR] urls[12] = file:/home/username/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
[ERROR] urls[13] = file:/home/username/.m2/repository/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.jar
[ERROR] urls[14] = file:/home/username/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar
[ERROR] urls[15] = file:/home/username/.m2/repository/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar
[ERROR] urls[16] = file:/home/username/.m2/repository/com/google/collections/google-collections/1.0/google-collections-1.0.jar
[ERROR] urls[17] = file:/home/username/.m2/repository/junit/junit/4.12/junit-4.12.jar
[ERROR] urls[18] = file:/home/username/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
[ERROR] urls[19] = file:/home/username/.m2/repository/com/google/protobuf/protobuf-java/2.6.0/protobuf-java-2.6.0.jar
[ERROR] urls[20] = file:/home/username/.m2/repository/org/drools/drools-core/6.5.0.Final/drools-core-6.5.0.Final.jar
[ERROR] urls[21] = file:/home/username/.m2/repository/org/mvel/mvel2/2.2.8.Final/mvel2-2.2.8.Final.jar
[ERROR] urls[22] = file:/home/username/.m2/repository/commons-codec/commons-codec/1.4/commons-codec-1.4.jar
[ERROR] urls[23] = file:/home/username/.m2/repository/org/drools/drools-compiler/6.5.0.Final/drools-compiler-6.5.0.Final.jar
[ERROR] urls[24] = file:/home/username/.m2/repository/org/antlr/antlr-runtime/3.5/antlr-runtime-3.5.jar
[ERROR] urls[25] = file:/home/username/.m2/repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.jar
[ERROR] urls[26] = file:/home/username/.m2/repository/com/thoughtworks/xstream/xstream/1.4.9/xstream-1.4.9.jar
[ERROR] urls[27] = file:/home/username/.m2/repository/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar
[ERROR] urls[28] = file:/home/username/.m2/repository/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar
[ERROR] urls[29] = file:/home/username/.m2/repository/org/kie/kie-api/6.5.0.Final/kie-api-6.5.0.Final.jar
[ERROR] urls[30] = file:/home/username/.m2/repository/org/kie/kie-internal/6.5.0.Final/kie-internal-6.5.0.Final.jar
[ERROR] urls[31] = file:/home/username/.m2/repository/org/drools/drools-decisiontables/6.5.0.Final/drools-decisiontables-6.5.0.Final.jar
[ERROR] urls[32] = file:/home/username/.m2/repository/org/apache/poi/poi-ooxml/3.13/poi-ooxml-3.13.jar
[ERROR] urls[33] = file:/home/username/.m2/repository/org/apache/poi/poi-ooxml-schemas/3.13/poi-ooxml-schemas-3.13.jar
[ERROR] urls[34] = file:/home/username/.m2/repository/org/apache/xmlbeans/xmlbeans/2.3.0/xmlbeans-2.3.0.jar
[ERROR] urls[35] = file:/home/username/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar
[ERROR] urls[36] = file:/home/username/.m2/repository/org/apache/poi/poi/3.13/poi-3.13.jar
[ERROR] urls[37] = file:/home/username/.m2/repository/org/drools/drools-templates/6.5.0.Final/drools-templates-6.5.0.Final.jar
[ERROR] urls[38] = file:/home/username/.m2/repository/org/drools/drools-scorecards/6.5.0.Final/drools-scorecards-6.5.0.Final.jar
[ERROR] urls[39] = file:/home/username/.m2/repository/org/drools/drools-pmml/6.5.0.Final/drools-pmml-6.5.0.Final.jar
[ERROR] urls[40] = file:/home/username/.m2/repository/com/sun/xml/bind/jaxb-impl/2.2.11/jaxb-impl-2.2.11.jar
[ERROR] urls[41] = file:/home/username/.m2/repository/com/sun/xml/bind/jaxb-core/2.2.11/jaxb-core-2.2.11.jar
[ERROR] urls[42] = file:/home/username/.m2/repository/org/jbpm/jbpm-bpmn2/6.5.0.Final/jbpm-bpmn2-6.5.0.Final.jar
[ERROR] urls[43] = file:/home/username/.m2/repository/org/jbpm/jbpm-flow-builder/6.5.0.Final/jbpm-flow-builder-6.5.0.Final.jar
[ERROR] urls[44] = file:/home/username/.m2/repository/org/jbpm/jbpm-flow/6.5.0.Final/jbpm-flow-6.5.0.Final.jar
[ERROR] urls[45] = file:/home/username/.m2/repository/joda-time/joda-time/1.6.2/joda-time-1.6.2.jar
[ERROR] urls[46] = file:/home/username/.m2/repository/org/drools/drools-workbench-models-guided-dtable/6.5.0.Final/drools-workbench-models-guided-dtable-6.5.0.Final.jar
[ERROR] urls[47] = file:/home/username/.m2/repository/org/drools/drools-workbench-models-datamodel-api/6.5.0.Final/drools-workbench-models-datamodel-api-6.5.0.Final.jar
[ERROR] urls[48] = file:/home/username/.m2/repository/org/drools/drools-workbench-models-commons/6.5.0.Final/drools-workbench-models-commons-6.5.0.Final.jar
[ERROR] urls[49] = file:/home/username/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar
[ERROR] urls[50] = file:/home/username/.m2/repository/org/drools/drools-workbench-models-guided-template/6.5.0.Final/drools-workbench-models-guided-template-6.5.0.Final.jar
[ERROR] urls[51] = file:/home/username/.m2/repository/org/drools/drools-workbench-models-guided-scorecard/6.5.0.Final/drools-workbench-models-guided-scorecard-6.5.0.Final.jar
[ERROR] urls[52] = file:/home/username/.m2/repository/org/slf4j/slf4j-simple/1.7.2/slf4j-simple-1.7.2.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------: java.util.Unkown
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[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/PluginContainerException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :salve_drools
----
If the type decleration does not use the symbol ie:
{code:java}
package dialogue;
import java.util.Unkown
declare DefaultReply
symbol:String
end
{code}
the error message becomes a lot better:
[ERROR] Unable to build KieBaseModel:rules
Error importing : 'java.util.Unkown'
[ function parseUtteranceparseUtterance (line:-5): Only a type can be imported. java.util.Unkown resolves to a package
]
Rule Compilation error : [Rule name='Parse raw user utterence into parsed utterance (something we understand)']
dialogue/Rule_Parse_raw_user_utterence_into_parsed_utterance_$u40$something_we_understand$u41$1360960339.java (2:300) : Only a type can be imported. java.util.Unkown resolves to a package
dialogue/Rule_Parse_raw_user_utterence_into_parsed_utterance_$u40$something_we_understand$u41$1360960339.java (2:1068) : The import dialogue.ParseUtterance cannot be resolved
dialogue/Rule_Parse_raw_user_utterence_into_parsed_utterance_$u40$something_we_understand$u41$1360960339.java (8:1848) : The method parseUtterance(PatternDatabase, UnparsedUserUtterance, String) is undefined for the type Rule_Parse_raw_user_utterence_into_parsed_utterance_$u40$something_we_understand$u41$1360960339
Rule Compilation error : [Rule name='Pick out the first symbol and insert it']
dialogue/Rule_Pick_out_the_first_symbol_and_insert_it851572034.java (2:300) : Only a type can be imported. java.util.Unkown resolves to a package
_ [... other rules that fail (not sure if I can show them) .. ]_
Error importing : 'dialogue.ParseUtterance.parseUtterance'
[ERROR] Message [id=1, kieBase=rules, level=ERROR, path=model.drl, line=1, column=0
text=Error importing : 'java.util.Unkown']
[ERROR] Message [id=2, kieBase=rules, level=ERROR, path=rules.drl, line=-5, column=0
text=[ function parseUtteranceparseUtterance (line:-5): Only a type can be imported. java.util.Unkown resolves to a package
]]
[ERROR] Message [id=3, kieBase=rules, level=ERROR, path=rules.drl, line=32, column=0
text=Rule Compilation error Only a type can be imported. java.util.Unkown resolves to a package
The import dialogue.ParseUtterance cannot be resolved
The method parseUtterance(PatternDatabase, UnparsedUserUtterance, String) is undefined for the type Rule_Parse_raw_user_utterence_into_parsed_utterance_$u40$something_we_understand$u41$1360960339]
[ERROR] Message [id=4, kieBase=rules, level=ERROR, path=rules.drl, line=81, column=0
text=Rule Compilation error Only a type can be imported. java.util.Unkown resolves to a package
The import dialogue.ParseUtterance cannot be resolved]
[ERROR] Message [id=5, kieBase=rules, level=ERROR, path=rules.drl, line=7, column=0
text=Rule Compilation error Only a type can be imported. java.util.Unkown resolves to a package
The import dialogue.ParseUtterance cannot be resolved
The constructor DefaultReply(Symbol) is undefined]
[ERROR] Message [id=6, kieBase=rules, level=ERROR, path=rules.drl, line=90, column=0
text=Rule Compilation error Only a type can be imported. java.util.Unkown resolves to a package
The import dialogue.ParseUtterance cannot be resolved]
[ERROR] Message [id=7, kieBase=rules, level=ERROR, path=rules.drl, line=72, column=0
text=Rule Compilation error Only a type can be imported. java.util.Unkown resolves to a package
The import dialogue.ParseUtterance cannot be resolved
The method randomLiteral(Random) is undefined for the type String]
[ERROR] Message [id=8, kieBase=rules, level=ERROR, path=rules.drl, line=-1, column=0
text=Error importing : 'dialogue.ParseUtterance.parseUtterance']
----
What I'm missing from the first case is the file name where the linking fails, and the line numbers where Unkown occurs.
It should also be much more obvious about what symbol can't be found.
Dumping each jar that is used is not very helpful since most people will use maven. It should dump instead all the maven dependencies.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the jboss-jira
mailing list