iReport maven NetBeans 项目中的编译错误(无法解析 java.lang.String)

问题描述 投票:0回答:2

也许有人可以帮助我解决这个问题。 我正在尝试将 iReport 集成到我的 NetBeans 项目中,但无法解决以下问题。 当我从“MyProject ---> New ---> Empty report”创建新报告时,它不会编译并显示报告设计器选项卡中的预览,它会出现以下错误:

编译异常:com.jaspersoft.ireport.designer.compiler.ErrorsCollector@3d50d9ef net.sf.jasperreports.engine.JRException:编译报告表达式类文件时遇到错误:1。无法解析 java.lang.String 类型。它是从所需的 .class 文件间接引用的 /* ^ 1 错误     位于 net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:204)     位于 com.jaspersoft.ireport.designer.compiler.IReportCompiler.run (IReportCompiler.java:512)     位于 org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)     位于 org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)     位于 org. openide.util.lookup.Lookups.executeWith(Lookups.java:278)     位于 org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

同时,如果我从 NetBeans 中的 iReport 欢迎屏幕创建新报告,一切看起来都很好。 这是我的 Pom 文件。

<?xml version="1.0" encoding="UTF-8"?>



<repositories>
    <repository>
        <id>unknown-jars-temp-repo</id>
        <name>A temporary repository created by NetBeans for libraries and jars it could not identify. Please replace the dependencies in this repository with correct ones and delete this repository.</name>
        <url>file:${project.basedir}/lib</url>
    </repository>
    <repository>
        <id>Jasper Reports</id>
        <url>http://jaspersoft.artifactoryonline.com/jaspersoft/jr-ce-releases</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.19</version>
        <exclusions>
            <exclusion>
                <groupId>com.google.protobuf</groupId>
                <artifactId>protobuf-java</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.mchange</groupId>
        <artifactId>mchange-commons-java</artifactId>
        <version>0.2.20</version>
    </dependency>
    <dependency>
        <groupId>com.mchange</groupId>
        <artifactId>c3p0</artifactId>
        <version>0.9.5.5</version>
    </dependency>
    <dependency>
        <groupId>com.toedter</groupId>
        <artifactId>jcalendar</artifactId>
        <version>1.4</version>
    </dependency>
    <dependency>
        <groupId>org.netbeans.external</groupId>
        <artifactId>AbsoluteLayout</artifactId>
        <version>RELEASE112</version>
    </dependency>
    <dependency> <!-- needed by jasperreports to build-->
        <groupId>com.lowagie</groupId>
        <artifactId>itext</artifactId>
        <version>2.1.7</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports -->
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>${jasperreports.version}</version>
    </dependency>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports-functions</artifactId>
        <version>${jasperreports.version}</version>
    </dependency>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports-fonts</artifactId>
        <version>6.11.0</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.30</version>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.12</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>xalan</groupId>
        <artifactId>xalan</artifactId>
        <version>2.7.2</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy</artifactId>
        <version>2.5.9</version>
    </dependency>
    <dependency>
        <groupId>org.mariadb.jdbc</groupId>
        <artifactId>mariadb-java-client-jre7</artifactId>
        <version>1.6.1</version>
    </dependency>
</dependencies>

<pluginRepositories>
    <pluginRepository>
        <id>Jasper Reports</id>
        <url>http://jaspersoft.artifactoryonline.com/jaspersoft/jr-ce-releases</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

<properties>
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>13</maven.compiler.source>
    <maven.compiler.target>13</maven.compiler.target>
    <jasperreports.version>6.11.0</jasperreports.version>
</properties>

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
            <configuration>
                <argLine>-Djava.awt.headless=true</argLine>
            </configuration>
        </plugin>
        </plugins>
    </pluginManagement>
    <plugins>
        <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
                <execution>
                    <id>copy-resources</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${basedir}/target/TechInfo</outputDirectory>
                        <resources>
                            <resource>
                                <directory>resources</directory>
                                <filtering>true</filtering>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        <overWriteReleases>false</overWriteReleases>
                        <overWriteSnapshots>false</overWriteSnapshots>
                        <overWriteIfNewer>true</overWriteIfNewer>
                    </configuration>
                </execution>
            </executions>
        </plugin> 
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>techinfo1.MainPage</mainClass>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>.</Class-Path>
                    </manifestEntries>
                </archive>
                <finalName>TechInfo_1.0</finalName>
            </configuration>
        </plugin>  
        <plugin>
            <groupId>com.alexnederlof</groupId>
            <artifactId>jasperreports-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <sourceDirectory>${project.build.sourceDirectory}/../resources</sourceDirectory>
                <outputDirectory>${project.build.outputDirectory}/jrxml</outputDirectory>
                <verbose>true</verbose>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>net.sf.jasperreports</groupId>
                    <artifactId>jasperreports-functions</artifactId>
                    <version>6.11.0</version>
                </dependency>
                <dependency>
                    <groupId>net.sf.jasperreports</groupId>
                    <artifactId>jasperreports</artifactId>
                    <version>6.11.0</version>
                </dependency>
            </dependencies>
            <executions>
                <execution>
                    <phase>process-resources</phase>
                    <goals>
                        <goal>jasper</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

    </plugins>            
</build>

我还将 JRE 从 8 降级到 JRE 7。 在 iReport 库中添加了一大堆文件。 从报告查询它给了我同样的错误。它连接到数据库但无法从中读取。

我的项目中缺少什么?

提前谢谢您。

java maven netbeans ireport
2个回答
1
投票

我不知道如何解释,但这对我有用。 转到报告属性,然后将语言更改为 groovy。在我将语言更改为 java 之前,会出现这样的错误。


0
投票

右键你要放jasper报表的包Package>new>others>Report>empty reports(Using groovy Expression)

支持我们的论坛 uctafex.com

© www.soinside.com 2019 - 2024. All rights reserved.