发生缘由
最近在做一个可视化项目,用到了 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下载链接、百度网盘、蓝奏云
# 将压缩包下载本地并解压
E:\JAVA\jar\jacob-1.20> dir驱动器 E 中的卷是 软件卷的序列号是 9692-5EC72020-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.TXT4 个文件 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 依赖
这个是重复依赖问题,只需要在导入其的时候将有影响的包排除掉即可。
<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. 自动检测现有的DataSource2. 将创建并注册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/releases2. 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>