1
Miy4mori 2017-07-13 20:57:16 +08:00 via iPhone
当然是用 gradle 引入本地 jar 包啦,你的依赖管理和构建都被 gradle 接管了,怎么会有其他方法。
|
2
Sharuru 2017-07-13 21:15:20 +08:00
gradle 里面配置 provided 依赖即可。
|
3
paledream 2017-07-13 21:30:45 +08:00
|
4
Cbdy 2017-07-13 21:37:43 +08:00 via Android
scope 选 system
|
5
doing 2017-07-13 21:42:44 +08:00
和 spring boot 无关,和你的构建工具 gradle 有关,你添加本地 jar 到本地库,然后配置 gradle 应该就可以了,我没使用过 gradle,使用的是 maven,就是这么搞的,因为 oracle jdbc jar 就是不能从远程库中下载,只好从 oracle 数据库安装目录中找到 jdbc jar 包,添加到 maven 本地库,然后 jar 该怎么添加就怎么添加。
|
6
donething OP @doing #5 纯 Java 项目添加 jar 库后 as a library 就可以用,但是这个 web 项目,不知道是不是由于还得打包成 war 的关系,导致一直都是 NoClassDefFoundError 错误。
然后好长时间都搞不好,现在尝试把库发布到 JCenter 后直接引用了。 |
7
donething OP @paledream #3 谢谢,Java 本地项目很好引用,就是 web 项目不会配置,运行到地方后都报 NoClassDefFoundError
|
8
donething OP |
9
autulin 2017-07-14 02:23:25 +08:00 via Android
之前用 maven 遇到同样的问题,建议还是将该 jar 包装入本地库,一劳永逸,不然最后打包同样也会有这样的坑
|
10
Rheinmetal 2017-07-14 08:05:19 +08:00 via Android
打包的问题吧 gradle 开一个普通 java 工程 脱离 gradle 运行 没有依赖也是这个异常 还得手动写个 task 把依赖 jar 包拷贝出来 你这个一样的 war 包打包没把本地依赖放进去呗
写得时候 有 gradle war 包没有 |
11
mosliu 2017-07-14 08:10:00 +08:00
我是用 maven,前两天刚刚解决了这个问题。
当时我显示也在 resource\lib 中引入了包,本地执行错误,打包后就出这个问题。 检查发现打完包的项目,在 META-INF\MANIFEST.MF 中是不存在引入的所需要的包名,导致的这个问题。 我的解决办法是将该 jar 加入了本地 maven 库,然后在 repository 中配置本地库,从本地库中获取就可以了。 |
12
mosliu 2017-07-14 08:11:44 +08:00
使用本地库能打包,可是如果使用 dependency 中 systemPath 配置本地地址却不打包进去,有点奇怪。。
|
13
wangkai123 2017-07-14 10:42:01 +08:00
|
14
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 里引用即可。 |
15
donething OP |
16
jack80342 2017-10-26 21:38:28 +08:00
这几天翻译了 Spring Boot 最新的官方文档,欢迎👏反馈,https://www.gitbook.com/book/jack80342/spring-boot/details
|