cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Commander_Groo
Level 4

Custom Rule issue

Hello,

I have written a custom rule that checks that a database connection credentials are valid. I'm finding that when I add my custom rule to an action and use the ! operator in the rule expressions (i.e ! ECR678 )then I get a NoClassDefinition found error when you tried to evaluate the rule, but if I don't use the ! operator and have my expression ECR678 then everything works as expected.

Why would changing the rule expression to ! cause my class to not be found?
Labels (1)
0 Kudos
(4) Replies
gshamrao
Level 3

Hi,


Please provide the stack trace and exact project configuration.

Thanks,
Gururaj shamrao
0 Kudos
Commander_Groo
Level 4

This is what I get in my error log when I use ! ECR678 instead of ECR678 for the Rule Expression, Why would the rule expression change whether the class can be found or not. I'm not sure what info you want from my project configuration.

null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
0 Kudos
Commander_Groo
Level 4

Talking with Flexera support it seems that this may be a bug in Installanywhere 2013, if the not operator is used ! then the class isn't loaded into the installer when it is built
0 Kudos
Commander_Groo
Level 4

The workaournd is to use the rule at the begining of the sequence with out the not operator and an impossible condtion like 1 = 0 so that the custom rule class will get included int he project. Then you can use the custome rule class later in the project witht he not operator without issue
0 Kudos