小编lud*_*nus的帖子

IDEA 在命令行 gradle run 成功时报告 build.gradle.kts 中的错误

我正在使用 Kotlin DSL 和 Gradle 构建工具。从命令行运行时,我的 gradle 构建在本地和 jenkins 服务器上运行良好。

然而,IDEA 抱怨并将几个项目标记为红色,并显示以下错误:

  • 无法访问类“java.lang.Object”。检查您的模块类路径是否缺少或冲突的依赖项
  • 不能使用提供的参数调用以下任何函数

我在项目设置中尝试了所有 3 个选项: - 使用默认的 gradle 包装器 - 使用 gradle 'wrapper' 任务配置 - 使用本地 gradle 分发

结果如果完全相同

问题:配置有问题,或者是否有修复或解决方法?

IntelliJ IDEA 2018.1.2 (Community Edition)
Build #IC-181.4668.68, built on April 24, 2018
JRE: 1.8.0_152-release-1136-b29 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.15.0-20-generic
Run Code Online (Sandbox Code Playgroud)

.

Kotlin plugin: 1.2.41-release-IJ2018.1-1
Run Code Online (Sandbox Code Playgroud)

.

Gradle 4.7
------------------------------------------------------------

Build time:   2018-04-18 09:09:12 UTC Revision:     b9a962bf70638332300e7f810689cb2febbd4a6c

Groovy:       2.4.12 Ant:          Apache Ant(TM) version 1.9.9 …
Run Code Online (Sandbox Code Playgroud)

intellij-idea gradle gradle-kotlin-dsl

7
推荐指数
1
解决办法
1241
查看次数

可以在没有证书验证的情况下进行httpS连接的kotlin库(如curl --insecure)

我需要抓取已过期/自签名证书的公司内部网站.没有人会为该主机配置有效的证书,所以我必须使用不安全的连接.

curl--insecure为此目的有旗帜,

Scala finagle库有.tlsWithoutValidation()模式.

问题:Kotlin库有类似的选择吗?

UPD:到目前为止,我正在使用Fuel这里发现的大量解决方法,但仍在寻找更好的方法..

fun useInsecureSSL() {

    // Create a trust manager that does not validate certificate chains
    val trustAllCerts = arrayOf<TrustManager>(object : X509TrustManager {
        override fun getAcceptedIssuers(): Array<X509Certificate>? = null
        override fun checkClientTrusted(chain: Array<X509Certificate>, authType: String) = Unit
        override fun checkServerTrusted(chain: Array<X509Certificate>, authType: String) = Unit
    })

    val sc = SSLContext.getInstance("SSL")
    sc.init(null, trustAllCerts, java.security.SecureRandom())
    HttpsURLConnection.setDefaultSSLSocketFactory(sc.socketFactory)

    // Create all-trusting host name verifier
    val allHostsValid = HostnameVerifier …
Run Code Online (Sandbox Code Playgroud)

ssl https kotlin insecure-connection

6
推荐指数
1
解决办法
2816
查看次数

科特林。尝试使用具体化类型来解析列表和数组

我尝试在解析 json 时使用具体化类型。它可以完美地处理单个 json 条目,但无法处理列表。

问题:

  1. String.parseList() 方法中缺少什么?
  2. 尽管赋值提前通过了一行,但为什么在 .first() 上出现 ClassCastException?
    package qa

    import com.fasterxml.jackson.databind.ObjectMapper
    import org.slf4j.LoggerFactory
    import org.testng.Assert
    import org.testng.annotations.Test

    class ReifiedParseListTest {

        data class User(var name: String = "userName", var age: Int = 0)

        val log = LoggerFactory.getLogger(this.javaClass.name)
        val objectMapper = ObjectMapper()
        val json: String = """[{"name":"Alice","age":1},{"name":"Bob","age":2}]"""
        val expected: String = "[User(name=Alice, age=1), User(name=Bob, age=2)]"


        inline fun <reified V> String.parseList(): List<V> = objectMapper
                .readValue(this, Array<V>::class.java).toList()


        @Test
        fun checkParseList_OK() {
            val actual: List<User> = objectMapper
                    .readValue(json, Array<User>::class.java).toList()

            log.info("actual.first() …
Run Code Online (Sandbox Code Playgroud)

kotlin kotlin-reified-type-parameters

4
推荐指数
1
解决办法
1304
查看次数

如何获取触发我的多分支 Jenkins 构建的 Github PR 的标签列表

更准确地说,我需要获取触发我的多分支构建的 PR 的标签列表。是否可以?

我知道https://github.com/jenkinsci/pipeline-github-plugin但使用了不兼容的 Jenkins 版本和多分支管道。

github jenkins jenkins-pipeline multibranch-pipeline

3
推荐指数
1
解决办法
2692
查看次数

为什么调用 OpenFile 时需要设置权限?

我了解存储在文件系统中的文件和目录的权限意味着什么。但是为什么我在调用 os.OpenFile 时需要设置权限?如果成功打开,它会更新文件系统上的文件权限吗?如果不是 - 用 0000 或 0777 打开同一个文件有什么区别?

https://golang.org/src/os/file.go?s=8454:8520#L272

func OpenFile(name string, flag int, perm FileMode) (*File, error)
...
f, err := os.OpenFile("access.log", os.O_APPEND, 0644)
Run Code Online (Sandbox Code Playgroud)

go

2
推荐指数
1
解决办法
759
查看次数