小编pio*_*rek的帖子

在构建战争期间替换文件内容(maven2)

如何在 maven-war-plugin 使用文件构建战争之前替换文件的内容?

重点是:

  • 在 eclipse 和 mvn tomcat:run 中启动的 tomcat 中,我想使用开发配置。它应该位于类路径上(例如在资源文件夹中)。因此该文件应该存在于测试之前的所有阶段,但不在打包阶段
  • 在bamboo、uat、prod 服务器上,我希望删除此配置。它将由类路径提供
  • 但我不想删除该文件。我们使用共享服务器,因此任何人都可以将具有相同名称的文件放在类路径上(意外地例如 application.properties)。所以我希望这个文件位于 war 内部(这样 spring 不会在 war 之外查找它),但它应该是空的。
  • 我不想使用配置文件,因为我希望在所有环境下使用相同的包

所以问题是:如何在构建战争期间(或之前)替换文件的内容

java build maven

5
推荐指数
1
解决办法
4343
查看次数

断开本地分支与远程分支的连接

我有两个本地分支 A 和 B 跟踪同一个远程分支 C。我想保留所有分支,但我想删除连接 A -> C 但保留连接 B -> C。我该怎么做?

git branch remote-branch

5
推荐指数
1
解决办法
2588
查看次数

在angular指令中放置辅助函数的位置?

我创建了一个简单的指令:

angular.module("foo").directive('bar',function(){
    return {
        ...
        template:
            '<div> \
                <div ng-hide="param1.length == 0 && param2...">...</div> \
                <input ng-show="param1.length == 0 && param2..." .../> \
             </div>',
        scope: {
            param1: '=',
            param2: '='
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

但是模板中有一个复制的复杂逻辑,所以我想把它提取到一个函数中,然后从模板中调用该函数.我在哪里可以放这样的功能,我该如何调用它?我是否必须创建专用控制器?

angularjs angularjs-directive

5
推荐指数
1
解决办法
1539
查看次数

Gradle:kotlin 测试在测试中看不到 java 文件

java 8, gradle 5, kotlin 1.2.71, junit 5.3.2, intellij 2018.03 12 月 17 日,将 kotlin 和 java 文件保存在同一 src 目录中\n文件结构为:

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 build.gradle\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 gradle\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wrapper...\n\xe2\x94\x82\xc2\xa0\xc2\xa0     \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 gradlew\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 gradlew.bat\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 src\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 kotlin\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80 ...\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 resources\n    \xe2\x94\x82\xc2\xa0\xc2\xa0     \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 application.yml\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 kotlin\n            \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80 xxx\n                    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 shop\n                        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 order\n                            \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Junit5Kotlin.kt\n                            \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Junit5Test.java\n                            \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 OrderITest.kt\n                            \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ProductITest.kt\n                            \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 Util.java\n
Run Code Online (Sandbox Code Playgroud)\n\n

来自intellij(“运行所有测试”点击“测试”目录)一切正常。从./gradlew test测试 kotlin 类看不到 java 测试 util 类:

\n\n
xxx.shop.order.Manual > should …
Run Code Online (Sandbox Code Playgroud)

java gradle kotlin junit5

5
推荐指数
1
解决办法
1798
查看次数

Gradle:如何将 kotlin 和 java 保存在同一个源文件夹中?

我想在同一个文件夹中包含 kotlin 和 java 文件,例如:

src/main/xxx/JavaClass.java
src/main/xxx/KotlinClass.kt

src/test/xxx/JavaTestClass.java
src/test/xxx/KotlinTestClass.kt
Run Code Online (Sandbox Code Playgroud)

我不在乎xxxkotlin, java, whatever。我只想让所有文件在一个地方提供单一功能,并进行交叉引用/交叉编译。

我如何在 gradle 中配置它?

java gradle kotlin

5
推荐指数
1
解决办法
440
查看次数

kotlin - 传递方法参考功能

假设我有以下Java类:

public class A {
   public Result method1(Object o) {...}
   public Result method2(Object o) {...}
   ...
   public Result methodN(Object o) {...}
}
Run Code Online (Sandbox Code Playgroud)

然后,在我的Kotlin代码中:

fun myFunction(...) {
    val a: A = ...
    val parameter = ...
    val result = a.method1(parameter) // what if i want methodX?
    do more things with result
}
Run Code Online (Sandbox Code Playgroud)

我希望能够选择在里面调用哪个methodX myFunction.在Java中,我会将其A::method7作为参数传递并调用它.在Kotlin它没有编译.我应该如何在Kotlin解决它?

reflection jvm kotlin method-reference

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

kotlin:如何从 Spek 类继承以拥有通用固定装置

我想要一个通用的测试装置:

@RunWith(JUnitPlatform::class)
abstract class BaseSpek: Spek({

    beforeGroup {println("before")}

    afterGroup {println("after")}
})
Run Code Online (Sandbox Code Playgroud)

现在我想使用该规范:

class MySpek: BaseSpek({
    it("should xxx") {}
})
Run Code Online (Sandbox Code Playgroud)

但由于无参数BaseSpek构造函数,我遇到了编译错误。实现我需要的正确方法是什么?

testing kotlin spek

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

如何防止jacoco检测生产代码?

我在 gradle 中使用 jacoco 插件:

apply plugin: 'kotlin'

jacoco {
    toolVersion = "0.7.9"
}
jacocoTestReport {
    reports {
        xml.enabled true
        html.enabled false
        csv.enabled false
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我想构建一个用于生产的包

./gradlew build jacocoTestReport
Run Code Online (Sandbox Code Playgroud)

问题是:生成的包会被 jacoco 检测吗?如果是,如何构建未检测的包=准备好生产?并运行代码覆盖率?我必须运行构建两次吗?是否不可能构建一次代码(对其进行签名),然后对其进行测试、测量覆盖率等,如果所有检查都通过,则部署它?

java code-coverage gradle jacoco gradle-plugin

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

Postgres ON CONFLICT 设置列引用不明确

我有一张桌子:

create table c (
    e text not null,
    m text not null,
    p numeric not null,
    PRIMARY KEY (e, m)
);
Run Code Online (Sandbox Code Playgroud)

我想做插入或更新以增加p现有值:

insert into c values (...) on conflict (e, m) do update set
            p = p + excluded.p
Run Code Online (Sandbox Code Playgroud)

我得到一个错误:

错误:列引用“p”不明确

它是如何模棱两可的?我应该如何编写我的插入内容以添加excluded.p到已经存在的值中?

sql postgresql upsert

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

如何对spring的网关进行单元测试?

我的网关会将流量重定向到许多不同的服务(在不同的域名下)。如何测试网关的配置?只需一项服务,我就可以设置模拟服务器(如 httpbin)并测试响应。对于多个服务,我宁愿避免启动整个 docker 网络或更改 locak dns 别名。spring 是否提供了任何轻量级的测试网关的方法?

java testing spring spring-test spring-cloud-gateway

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