求救, Spring Boot 开发中, idea 怎么引入本地 jar 包啊??

2017-07-13 20:48:28 +08:00
 donething
8369 次点击
所在节点    程序员
16 条回复
Miy4mori
2017-07-13 20:57:16 +08:00
当然是用 gradle 引入本地 jar 包啦,你的依赖管理和构建都被 gradle 接管了,怎么会有其他方法。
Sharuru
2017-07-13 21:15:20 +08:00
gradle 里面配置 provided 依赖即可。
paledream
2017-07-13 21:30:45 +08:00
Cbdy
2017-07-13 21:37:43 +08:00
scope 选 system
doing
2017-07-13 21:42:44 +08:00
和 spring boot 无关,和你的构建工具 gradle 有关,你添加本地 jar 到本地库,然后配置 gradle 应该就可以了,我没使用过 gradle,使用的是 maven,就是这么搞的,因为 oracle jdbc jar 就是不能从远程库中下载,只好从 oracle 数据库安装目录中找到 jdbc jar 包,添加到 maven 本地库,然后 jar 该怎么添加就怎么添加。
donething
2017-07-14 00:01:57 +08:00
@doing #5 纯 Java 项目添加 jar 库后 as a library 就可以用,但是这个 web 项目,不知道是不是由于还得打包成 war 的关系,导致一直都是 NoClassDefFoundError 错误。
然后好长时间都搞不好,现在尝试把库发布到 JCenter 后直接引用了。
donething
2017-07-14 00:04:42 +08:00
@paledream #3 谢谢,Java 本地项目很好引用,就是 web 项目不会配置,运行到地方后都报 NoClassDefFoundError
donething
2017-07-14 00:08:04 +08:00
@Miy4mori @Sharuru 谢谢,不过在 gradle 配置里添加"compile fileTree(include: ['*.jar'], dir: 'libs')"还是那个错误。
关键是写的时候没有问题,运行代码时才报错。不理解是什么情况。
autulin
2017-07-14 02:23:25 +08:00
之前用 maven 遇到同样的问题,建议还是将该 jar 包装入本地库,一劳永逸,不然最后打包同样也会有这样的坑
Rheinmetal
2017-07-14 08:05:19 +08:00
打包的问题吧 gradle 开一个普通 java 工程 脱离 gradle 运行 没有依赖也是这个异常 还得手动写个 task 把依赖 jar 包拷贝出来 你这个一样的 war 包打包没把本地依赖放进去呗
写得时候 有 gradle war 包没有
mosliu
2017-07-14 08:10:00 +08:00
我是用 maven,前两天刚刚解决了这个问题。
当时我显示也在 resource\lib 中引入了包,本地执行错误,打包后就出这个问题。
检查发现打完包的项目,在 META-INF\MANIFEST.MF 中是不存在引入的所需要的包名,导致的这个问题。
我的解决办法是将该 jar 加入了本地 maven 库,然后在 repository 中配置本地库,从本地库中获取就可以了。
mosliu
2017-07-14 08:11:44 +08:00
使用本地库能打包,可是如果使用 dependency 中 systemPath 配置本地地址却不打包进去,有点奇怪。。
wangkai123
2017-07-14 10:42:01 +08:00
spice630
2017-07-14 18:14:56 +08:00
你们这些发链接的,有自己试过吗? 如果 google 能解决,我想楼主也不会在这里问了。
给一个我的方法。
build.gradle

repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
mavenLocal()
mavenCentral()
}

把 jar 文件放到 maven 的本地仓库里 比如,~/.m2/repository/org/json/201407

然后在 dependencies 里引用即可。
donething
2017-07-15 00:47:25 +08:00
@mosliu #11
@spice630 #14
谢谢你们的回复,最后只能这样解决了,打算将类库上传到 JCenter 然后向你们这样引用了。
jack80342
2017-10-26 21:38:28 +08:00
这几天翻译了 Spring Boot 最新的官方文档,欢迎👏反馈,https://www.gitbook.com/book/jack80342/spring-boot/details

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

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

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

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

© 2021 V2EX