一个 Spring Boot 应用的 jar 包竟然要一百多兆?这就是我接手的项目

2020-08-26 10:25:41 +08:00
 qwerthhusn

Redis

spring-data-redis,spring-data-reactive-redis,Lettuce,Redisson,Jedis 的依赖都有,项目中用的是自己实际封装的 jedis,用途也不复杂。Spring Actuator 好像会检查 Redistribution 连接,是用的 spring-data-redis 的连接检查的,但是因为配置的是自己实际封装的 jedis,所以每次启动都会有 WARN 错误,堆栈一大堆。

MySQL

spring-boot-jpa,mybatis-plus,mysql-jdbc, mariadb-jdba, sqlserver-jdbc 的依赖都有,HirakiCP,ali 的 druid,commmons-dbcp,最后项目中的 DataSource 用的是自己实际封装的 druid,配置文件以二十行。

JSON

json-lib fastjson gson 依赖一应俱全

Log

log4j1 logback commons-logging (没错,不是 Spring Boot 的那个代理成 slf4j 的 commons-logging ) slf4j 依赖一应俱全,有的代码还在用 log4j 1 的 api 。

pom.xml

dependencies 部分,好几十个,各种 exclude 眼花缭乱。关键是有些依赖中央库没有,也没私服,问了,说给你一个本地仓库,指过去就行了,然后去下载上 G 的本地仓库备份 build plugins 部分,各种插件,有用的没用的

Spring Config

没错 @Configuration,xml 都有,入口类上面一大坨注解去 @ImportResource

Controller 类

入参是 HttpServletRequest,自己去取数据

代码

不说了。System.out.println(),e.printStackTrace()满天飞

没错,这就是我接手的项目,而且还只是指提供接口的新项目。

7141 次点击
所在节点    Java
48 条回复
aragakiyuii
2020-08-26 10:38:01 +08:00
太惨了。。
chendy
2020-08-26 10:44:49 +08:00
还行,也就一般屎
zhaorunze
2020-08-26 10:48:27 +08:00
还行吧,我最近接手一个 spring3+jsp 五年前的 项目,项目中还用到了两种 mq,redis+memcache,spring 事件,mongo+mysql,三种 json
zhuweiyou
2020-08-26 10:54:53 +08:00
照常发工资就行,再烂我都能接手。
qwerthhusn
2020-08-26 10:59:23 +08:00
在屎上雕花雕久了,感觉自己慢慢的也不嫌臭啦
MozzieW
2020-08-26 11:01:31 +08:00
搭车问一下, 正常一个简单的 API 项目应该多大? 上次用开源做了一个 API, 一打包好像就 50M 左右了
luckyrayyy
2020-08-26 11:01:56 +08:00
一百多兆不算大..
kpingdd
2020-08-26 11:14:44 +08:00
仿佛看到了自己手上这坨屎
shuigui
2020-08-26 11:20:22 +08:00
恶臭
kingfalse
2020-08-26 11:24:43 +08:00
纯粹的为了用而用,垃圾项目
spacebound
2020-08-26 11:24:48 +08:00
一百多兆还正不真算大,顺便创个项目,必要的包引一下就奔着 50m 去了
Heroininu
2020-08-26 11:33:42 +08:00
100m 都觉得大吗,又不是 14 年
qwerthhusn
2020-08-26 11:40:51 +08:00
@Heroininu
@spacebound
@MozzieW
@luckyrayyy
项目就是个 CRUD 项目,没有大资源,全是 class 和文本文件,一般也就四五十兆(我对比了之前的)。

再说一个第三方 jar,1M 的都算是已经比较大的了,很多都是几百 k 甚至几十 k
imxthd
2020-08-26 11:43:34 +08:00
e.printStackTrace() 对比 log.error 有什么不好?
arthas2234
2020-08-26 11:43:59 +08:00
之前我们有个项目 90 兆左右,也是引用了很多没用的依赖,被我砍到 56 兆
zliea
2020-08-26 11:46:21 +08:00
spring 2.3 支持 docker layer 构建之后再也不担心大小了。
yiyi11
2020-08-26 11:47:39 +08:00
养蛊
chendy
2020-08-26 11:54:36 +08:00
@imxthd #14 和 ‘System.out.print 对比 log.info 有什么不好’ 一样的道理
JDog
2020-08-26 11:55:08 +08:00
"新人和老人的区别就是面对一坨屎山,新人会大吃一斤。老人会贤淑的避开最臭的那部分屎,然后灵巧的在保证屎山不垮的情况下把自己的屎再拉一层上去"
via @est
gdtdpt
2020-08-26 11:58:15 +08:00
我公司里现在所有项目差不多都这样,我不想鄙视谁,但是天天看着他们得过且过,这里复制一下那里粘贴一下,从来不会想去弄明白为什么,真的很气。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/701488

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX