学习 Java 报表技术导入 Maven 依赖出错:jacob 无法下载、jasperreports 依赖错误

发生缘由

最近在做一个可视化项目,用到了 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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/51716.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发现一种增加在 GitHub 曝光量的方法,已举报

今天偶然看到一种增加项目和个人在 GitHub 曝光量的方法&#xff0c;但感觉无法赞同这种做法&#xff0c;已经向 GitHub 官方举报。 具体怎么回事呢&#xff1f;我上周在 Vim 插件大佬 tpope 的一个项目提了个 Issue&#xff0c;但一周过去了&#xff0c;大佬也没有回应&#x…

【笔记】岂不怀归:三和青年调查

三和青年的遭遇绝非孤例&#xff0c;他们是中国现代化和城市化进程中一些难以被城市容纳的群体的缩影。三和青年的“后备军”&#xff0c;是整整一代没有知识与技能的农村青年。本书对三和青年抱以人道主义的关怀与同情&#xff0c;并鼓励各界关注社会发展过程中被抛下的那一群…

CSDN编程题-每日一练(2023-08-25)

CSDN编程题-每日一练&#xff08;2023-08-25&#xff09; 一、题目名称&#xff1a;影分身二、题目名称&#xff1a;小鱼的航程(改进版)三、题目名称&#xff1a;排查网络故障 一、题目名称&#xff1a;影分身 时间限制&#xff1a;1000ms内存限制&#xff1a;256M 题目描述&am…

Git gui教程---第八篇 Git gui的使用 创建一个分支

一般情况下一个主分支下代码稳定的情况下会新建出一个分支&#xff0c;然后在分支上修改&#xff0c;修改完成稳定后再合并到主分支上。 或者几个人合作写一份代码&#xff0c;每个人各一个分支&#xff0c;测试稳定再合并到主分支上。 在git gui选择菜单栏“分支”&#xff0…

蓝桥杯上岸每日N题 (交换瓶子)

大家好 我是寸铁 希望这篇题解对你有用&#xff0c;麻烦动动手指点个赞或关注&#xff0c;感谢您的关注 题目描述 有 N 个瓶子&#xff0c;编号 1∼N&#xff0c;放在架子上。 比如有 5 个瓶子&#xff1a; 2 1 3 5 4 要求每次拿起 2 个瓶子&#xff0c;交换它们的位置。 …

android adb自动连接手机安装apk bat

1.新建bat文件adb echo off:apk文件名称 在setting.txt获取 set apkFileName"":设置文件 set settingFileE:\apk\bat\setting.txt:启动页面 applicationid/启动页面路径 set startActivitycom.aaa.aaa/com.aaa.aaa.ui.common.SplashActivity:读取settingFile第一行的…

【Java基础】 - 常用注解@SuppressWarings

Java基础 - 常用注解SuppressWarings 文章目录 Java基础 - 常用注解SuppressWarings一、概述二、 SuppressWarings注解使用2.1. 抑制单类型的警告2.2. 抑制多类型的警告2.3. 抑制所有类型的警告 四、注解目标五、抑制警告的关键字 一、概述 java.lang.SuppressWarnings是J2SE5…

什么是代码审计?怎么做?

代码审计是对源代码进行人工或自动化审查&#xff0c;以查找潜在的安全漏洞和隐患。在信息安全测试中&#xff0c;代码审计是非常重要的一环。它主要包括以下几个方面&#xff1a; 1.变量验证&#xff1a;检查代码是否对变量进行验证&#xff0c;防止变量被恶意用户篡改。 2.…

板卡设计+硬件每日学习十个知识点(44)23.8.24 (检测单元设计,接口部分设计,板卡电源输入设计,电源检测电路)

文章目录 1.检测单元介绍&#xff08;使用GD32单片机&#xff09;2.GD32的最小系统板3.GD32的温度监测4.GD32的电压监测和电流监测5.GD32的布线6.接口部分设计7.板卡电源输入设计8.电源检测电路 1.检测单元介绍&#xff08;使用GD32单片机&#xff09; 答&#xff1a; 首先要为…

Forrester首次面向中国的开源报告:阿里云在云原生领域开源布局最全面

Forrester 于近期发布了《Navigate The Cloud-Native Ecosystem In China, 2023》&#xff0c;报告概述了中国云原生领域的开源项目对构建云原生生态的促进作用&#xff0c;这些开源项目正深刻影响着企业的技术决策者以何种策略拥抱云原生这一现代 IT 基础设施的核心。 报告表…

很干的 Nginx

&#x1f3a8; 前言 本篇文章有些概念性的东西&#xff0c;是结合自己的理解表达出来的&#xff0c;可能有些理解不到位的地方。希望多多指教&#xff0c;谢谢大家。 红包献上 &#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;…

Android Camere开发入门(2):Camera2的使用

Android Camere开发入门(2):Camera2的使用 Camera2 API简介 在上一篇文章《Android Camere开发入门(1):Camera1的使用》中,我们了解了如何在Android应用中使用Camera API来访问设备的摄像头。然而,随着Android设备的发展和硬件的提升,我们需要使用更强大、更灵活的API…

5.7 汇编语言:汇编高效乘法运算

乘法指令是一种在CPU中实现的基本算术操作&#xff0c;用于计算两个数的乘积。在汇编语言中&#xff0c;乘法指令通常是通过mul&#xff08;无符号乘法&#xff09;和imul&#xff08;有符号乘法&#xff09;这两个指令实现的。由于乘法指令在执行时所消耗的时钟周期较多&#…

深度学习处理文本(NLP)

文章目录 引言1. 反向传播1.1 实例流程实现1.2 前向传播1.3 计算损失1.4 反向传播误差1.5 更新权重1.6 迭代1.7 BackPropagation & Adam 代码实例 2. 优化器 -- Adam2.1 Adam解析2.2 代码实例 3. NLP任务4. 神经网络处理文本4.1 step1 字符数值化4.2 step 2 矩阵转化为向量…

成集云 | 抖店连接器客户静默下单催付数据同步钉钉 | 解决方案

源系统成集云目标系统 方案介绍 随着各品牌全渠道铺货&#xff0c;主播在平台上直播时客户下了订单后不能及时付款&#xff0c;第一时间客户收不到提醒&#xff0c;不仅造成了客户付款率下降&#xff0c;更大量消耗了企业的人力成本和经济。而成集云与钉钉深度合作&#xff0…

STM32--USART串口

文章目录 通信接口串口通信硬件电路电平标准参数时序 USART主要特性框图 数据帧发送器 波特率发生器SWART串口发送与接收工程串口收发数据包 通信接口 通信接口是指连接中央处理器&#xff08;CPU&#xff09;和标准通信子系统之间的接口&#xff0c;用于实现数据和控制信息在不…

创建型(二) - 单例模式

一、概念 单例设计模式&#xff08;Singleton Design Pattern&#xff09;&#xff1a;一个类只允许创建一个对象&#xff08;或者实例&#xff09;&#xff0c;那这个类就是一个单例类。 优点&#xff1a;在内存里只有一个实例&#xff0c;减少了内存的开销&#xff0c;避免…

element ui - el-select获取点击项的整个对象item

1.背景 在使用 el-select 的时候&#xff0c;经常会通过 change 事件来获取当前绑定的 value &#xff0c;即对象中默认的某个 value 值。但在某些特殊情况下&#xff0c;如果想要获取的是点击项的整个对象 item&#xff0c;该怎么做呢&#xff1f; 2.实例 elementUI 中是可…

嵌入式Linux开发实操(十二):PWM接口开发

# 前言 使用pwm实现LED点灯,可以说是嵌入式系统的一个基本案例。那么嵌入式linux系统下又如何实现pwm点led灯呢? # PWM在嵌入式linux下的操作指令 实际使用效果如下,可以通过shell指令将开发板对应的LED灯点亮。 点亮3个LED,则分别使用pwm1、pwm2和pwm3。 # PWM引脚的硬…

【面试经典150题】合并两个有序数组-JavaScript版

题目来源 初始思路&#xff1a;同时循环遍历两个数组&#xff0c;选出较小元素放入新数组。剩下一个没有被遍历完的数组的剩余元素直接拼接到新数组后。 错误示例&#xff1a; var merge function (nums1, m, nums2, n) {let i 0,j 0,nums3 [];while (i < m &&am…