折腾:
【未解决】Java用IntelliJ IDEA如何用gradle去安装第三方库PersistentCookieJar
期间,之前通过导入jar包的话,虽然暂时可以解决代码问题,但是好像一刷新就又不行了。
只能再去尝试用添加依赖的方式去导入库:
- commons-io-2.6.jar
- okhttp-3.11.0.jar
- okio-2.1.0.jar
- tinylog-1.3.5.jar
commons-io gradle
compile group: 'commons-io', name: 'commons-io', version: '2.0.1'
好像版本太低,改为:
compile "commons-io:commons-io:+"
代码
好像可以了,但是好像是刚才旧的2.0.1
所以再去更新文件:
一闪而过,看到是更新最新的2.6的pom了。
好像没下载成功,再去刷新:
然后终于好了,是最新的2.6的版本:
后记:
用:
compile 'commons-io:commons-io:2.7-SNAPSHOT'
更好。
再去看看:
okhttp gradle
但是发现不用了:
之前的PersistentCookieJar,好像已经依赖了okhttp
-》所以已经下载好,不用再去配置和下载了。
tinylog gradle
试试:
compile ‘org.tinylog:tinylog:1.3.5’
此处提示出错:
Incompatible types. Required:java.lang.AutoCloseable Found: okhttp3.Response
看起来感觉是:
之前自动根据:
PersistentCookieJar
所依赖的,安装的:
Gradle: com.squareup.okhttp3:okhttp:3.1.2
好像和此处之前代码本身所需要的:
okhttp-3.11.0.jar
有冲突
那么去直接去gradle中加上:
okhttp3 gradle
implementation ‘com.squareup.okhttp3:okhttp:3.11.0’
试试
结果:
好像会自动下载所依赖的很多的其他库,包括okio之类的
下载万后,就解决了冲突问题。
那顺带再去:
okio gradle
compile 'com.squareup.okio:okio:2.1.0'
加上:
然后不仅仅安装了okio,还同时解析所依赖的:
Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.2.60
Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60
右键-》Open Library Settings
可以看到详细配置:
然后此处代码在IDEA的重新indexing后,终于正常,没有红色错误了:
【总结】
最终用:
plugins { id 'java' } group 'crifan.com' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() maven { url "https://jitpack.io" } } dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' compile "commons-io:commons-io:+" compile 'com.github.franmontiel:PersistentCookieJar:v1.0.1' compile 'org.tinylog:tinylog:1.3.5' implementation 'com.squareup.okhttp3:okhttp:3.11.0' compile 'com.squareup.okio:okio:2.1.0' }
解决了:
- commons-io-2.6.jar
- okhttp-3.11.0.jar
- okio-2.1.0.jar
- tinylog-1.3.5.jar
以及相关的:
kotlin-stdlib:1.2.60
kotlin-stdlib-common:1.2.60
的相关的依赖的库。
然后代码就正常了。
【后记】
记得删除掉之前导入的:
变成: