该文件名为scriptletTestsScriptlet.java
(是的,它是一个愚蠢的名称,jasper scritplets也应该以小写字母开头,似乎会干扰标准的java类命名)
不幸的是,即使类名和文件名匹配,我仍然会收到错误
java:class scriptletTestsScriptlet是public,应该在名为scriptletTestsScriptlet.java的文件中声明
我从字面上复制粘贴文件名的错误。
Intellij似乎没有包或类名的问题。如果我将它们更改为不正确的值,它会抱怨。
package com.marinecyb.hilit2.nbm.gui.export;
import net.sf.jasperreports.engine.JRDefaultScriptlet;
import net.sf.jasperreports.engine.JRScriptletException;
public class scriptletTestsScriptlet extends JRDefaultScriptlet {
public void afterDetailEval() throws JRScriptletException {
String iGotMine = (String)this.getVariableValue("heading");
this.setVariableValue("scriptletOutput", iGotMine + ": Hello World");
}
}