发生缘由
最近在做一个可视化项目,用到了 Java 报表技术。在跟着「黑马」课程导入 pom.xml 文件的时候提示下载依赖错误。
- com.jacob 包无法下载
- Failed to read artifact descriptor for com.lowagie:itext:jar:2.1.7.js6
运行环境
- 电脑系统版本:Windows 10 64bit
- Idea:2023.2 (Ultimate Edition)
- Maven:apache-maven-3.6.0
问题解决
解决 jacob 包问题
既然阿里云无法下载,那么直接从 GitHub 下载即可。文件也不大,才500KB,所以使用下面哪种方式都可以。
Release 下载页面、jacob-1.20.zip下载链接、百度网盘、蓝奏云文章来源:https://www.toymoban.com/news/detail-677394.html
# 将压缩包下载本地并解压
E:\JAVA\jar\jacob-1.20> dir
驱动器 E 中的卷是 软件
卷的序列号是 9692-5EC7
2020-09-25 06:22 <DIR> .
2020-09-25 06:22 <DIR> ..
2020-09-24 23:21 <DIR> docs
2020-09-25 06:16 226,816 jacob-1.20-x64.dll
2020-09-25 06:16 189,440 jacob-1.20-x86.dll
2020-09-25 06:15 49,913 jacob.jar
2020-09-24 23:21 26,440 LICENSE.TXT
4 个文件 492,609 字节
3 个目录 52,337,233,920 可用字节
# 安装到 Maven 仓库中
E:\JAVA\jar\jacob-1.20>mvn install:install-file -DgroupId=com.jacob -DartifactId=jacob -Dversion=1.20 -Dpackaging=jar -Dfile=jacob.jar
解决 jasperreports 依赖
这个是重复依赖问题,只需要在导入其的时候将有影响的包排除掉即可。文章来源地址https://www.toymoban.com/news/detail-677394.html
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.5.0</version>
<exclusions>
<!--
JasperReports报表生成工具对Itext进行了封装,简化了pdf输出的过程。
有可能导入依赖报错提示 com.lowagie:itext失败
我们只需要排除对com.lowagie:itext:jar的读取即可
-->
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</exclusion>
<!-- 排除olap4j依赖 -->
<exclusion>
<groupId>org.olap4j</groupId>
<artifactId>olap4j</artifactId>
</exclusion>
</exclusions>
</dependency>
最后 pom 文件
<dependencies>
<!-- SpringBoot依赖 -->
<!-- SpringBootWeb项目依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- SpringBoot测试依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- SpringBoot整合MyBatis -->
<!-- MySQL驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--
mapper-spring-boot-starter链接Spring Boot和MyBatis,构建基于Spring Boot的MyBatis应用程序
1. 自动检测现有的DataSource
2. 将创建并注册SqlSessionFactory的实例,该实例使用SqlSessionFactoryBean将该DataSource作为输入进行传递
3. 将创建并注册从SqlSessionFactory中获取的SqlSessionTemplate的实例。
4. 自动扫描mappers,将它们链接到SqlSessionTemplate并将其注册到Spring上下文,以便将它们注入到bean中。
5. 使用了该Starter之后,只需要定义一个DataSource即可(配置文件可配置),
它会自动创建使用该DataSource的SqlSessionFactoryBean以及SqlSessionTemplate。
会自动扫描你的Mappers,连接到SqlSessionTemplate,并注册到Spring上下文中。
-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<!-- 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>
<!-- Java操作各种类型的报表 -->
<!-- Java操作excel -->
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
<!-- Java操控excel后缀为xls的表 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<!-- Java操控excel后缀为xlsx的表 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.1</version>
</dependency>
<!--
Java操作ooxml。
OOXML是一种开放的文档标准,微软的Office套件,WPS的套件等生成的文件可以互相兼容。
也使用JAVA、Go等也可以操作这些文档,生成Office文件,套用模板文件,清理修改痕迹等操作。
-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.0.1</version>
</dependency>
<!-- 用于解析CSV文件的java类库 -->
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>4.5</version>
</dependency>
<!-- Java操作office套件 -->
<!--
该jar包使用阿里云镜像无法下载,可以直接从github下载然后install到Maven本地仓库中
1. https://github.com/freemansoft/jacob-project/releases
2. mvn install:install-file -DgroupId=com.jacob -DartifactId=jacob -Dversion=1.20 -Dpackaging=jar -Dfile=jacob.jar
-->
<dependency>
<groupId>com.jacob</groupId>
<artifactId>jacob</artifactId>
<version>1.20</version>
</dependency>
<!-- 报表生成 -->
<!-- 开源报表生成工具 -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.5.0</version>
<!--排除itext,jar读取-->
<exclusions>
<!--
JasperReports报表生成工具对Itext进行了封装,简化了pdf输出的过程。
有可能导入依赖报错提示 com.lowagie:itext失败
我们只需要排除对com.lowagie:itext:jar的读取即可
-->
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</exclusion>
<!-- 排除olap4j依赖 -->
<exclusion>
<groupId>org.olap4j</groupId>
<artifactId>olap4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- OLAP4J一个类似于JDBC驱动,能够用于访问任何OLAP服务器的Java公共类包。 -->
<dependency>
<groupId>org.olap4j</groupId>
<artifactId>olap4j</artifactId>
<version>1.2.0</version>
</dependency>
<!-- 可以将XML、Html文件转化为PDF文件 -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
<!-- 图表绘制类库 -->
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.5.0</version>
</dependency>
<!-- 其他包 -->
<!-- Lombok简化实体类开发 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- 常用工具类包 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
</dependencies>
到了这里,关于学习 Java 报表技术导入 Maven 依赖出错:jacob 无法下载、jasperreports 依赖错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!