小编Chr*_*sel的帖子

Kotlin没有看到Java Lombok访问器?

使用Kotlin 1.0.0版本(在IntelliJ 15中编译).

println(myPojoInstance.foo)
Run Code Online (Sandbox Code Playgroud)

当它尝试编译引用基于Lombok的POJO的代码(在IntelliJ或Gradle中)时,它会给出错误"无法访问'foo':它在'MyPojo'中是'私有'.这是真的,它们都是私有的,我的对象有@Value @Builder用于lombok注释.

我试过专门调用getFoo(),但它说"getFoo的未解析引用".也许有一些技巧可以让Kotlin意识到如何处理lombok注释?

println lombok kotlin

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

Gradle artifactory插件说"无法投射对象'org.jfrog.gradle.plugin.artifactory.dsl.ArtifactoryPluginConvention'......"

这是获取artifactory插件的配置:

buildscript {
    repositories {
        mavenCentral()
        maven { url 'http://jcenter.bintray.com' }
    }
    dependencies {
        classpath group:'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '3.0.1'
    }
}
apply plugin:'com.jfrog.artifactory'
apply plugin:'ivy-publish'

...some publish spec stuff...
Run Code Online (Sandbox Code Playgroud)

我跑gradle(2.3)然后我得到:

> Failed to apply plugin [id 'com.jfrog.artifactory']
   > Cannot cast object 'org.jfrog.gradle.plugin.artifactory.dsl.ArtifactoryPluginConvention@6b6c7be4' with class 'org.jfrog.gradle.plugin.artifactory.dsl.ArtifactoryPluginConvention' to class 'org.jfrog.gradle.plugin.artifactory.dsl.ArtifactoryPluginConvention'
Run Code Online (Sandbox Code Playgroud)

当然看起来像一个类路径问题,但我确实有这个项目和兄弟项目使用同一组gradle/artifactory配置,一个工作,另一个没有.两者都是同一顶级项目的一部分.相同的JDK(1.8.0_20).相同的Gradle.一切都一样.

我很困惑......

artifactory gradle

29
推荐指数
3
解决办法
5199
查看次数

棘手的Ant文件集(包括大多数,但不是全部目录)

我有一个案例,我只是无法弄清楚如何让Ant只在文件集中提取我想要的文件(为什么地球上没有Ant人们只使用正则表达式?).

这是情况.我在classes目录下有一堆类.我想要:

1)课程下的所有文件,

2)但不是/ com/foo/bar下的那些

3)除了我想要/com/foo/bar/AbstractCustomerAdapter.class和CustomerAdapterFactory.class.

/ com/foo/bar下的文件通常被命名为FooCustomerAdapter.class.

简而言之,我们创建了2个罐子,其中一个仅包含客户特定的adpaters,另外一个包含其他所有内容.这允许我们创建一个新的客户适配器并换掉那个迷你jar.杀死我的上面的文件集就是"其他一切".

一旦Ant排除了一个文件,没有包含会把它带回来,因此第2和第3项让我对如何处理文件集感到不安.如何排除所有客户适配器,而不是排除抽象客户适配器?我没有蚂蚁兼容的通配符可以排除XZYCustomerAdapter类而不排除AbstractCustomerAdapter.

好吧,至少我想不出一个,但希望你们中的一个Stack Overflow居民比我更聪明:)

ant

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

Mockito在后续调用void方法时的不同行为?

我有一个save()返回的方法void:

public void save( MyThing ) throws SaveFailureException { ... }
Run Code Online (Sandbox Code Playgroud)

调用save()具有重试逻辑来处理异常.我想通过模拟第一次调用来测试它,save()以便它抛出异常,第二次调用应该成功而没有异常.

Mockito有一种处理非void方法的连续行为的好方法,例如:

when( mock.save() ).thenThrow( ... ).thenReturn( ... )
Run Code Online (Sandbox Code Playgroud)

如何使用返回void的方法执行相同的操作?

java mockito

19
推荐指数
1
解决办法
5464
查看次数

Postgres 12 物化 CTE 速度更快

迁移到 Postgres 12 后,我的一个查询时间从 6 秒缩短到 7.5 分钟。我可以通过将 MATERIALIZED 添加到 CTE 表达式来解决此问题。我不明白的是,为什么新的“未实现”默认设置在本应改善情况时却变得如此糟糕。我的表有无数列,SQL 有 230 行,所以这是这个概念的超级精简版本。

6秒查询

WITH A as MATERIALIZED (SELECT * from foo where <complicated stuff>),
     B as MATERIALIZED (SELECT * from foo where <other complicated stuff>)
SELECT * from A JOIN B ON <complicated stuff>
order by a_thing 
Run Code Online (Sandbox Code Playgroud)

该查询将相对快速地执行 A 和 B,大部分时间都在最终的合并排序中。

如果我删除 MATERIALIZED,则需要 7.5 分钟,并且解释分析显示:

  • A仍然相当快
  • 在生成 B 时循环遍历每个 A 结果。每个循环都很快,但有数以万计的循环。

所以,我的问题是,哪些因素对未物化 CTE 不利?我正在寻找概念/想法,这样我就可以深入研究我的 SQL,看看是否有办法让 NOT MATERIALIZED 更好地为我工作。

我知道如果没有 SQL,这会很困难,但它大约有 230 行长。如果觉得这个问题无法回答,我们可以删除它。

解释带有和不带有具体化的链接。但不确定explain.depesz.com 会将这些保留多久。

postgresql

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

为什么我的GitHub提交始终显示为未知作者?

我刚刚建立了一个GitHub帐户并推送了一个初始存储库.如果我查看帐户级别,在"公共活动"下,它是正确的并且说chriskessel pushed .....

如果我点击存储库,它会说: unknown authored 4 minutes ago

我无法弄清楚如何配置IntelliJ(或任何底层Git文件)以在实际提交行中获取我的名字.git config user.name在项目的命令行知道我是谁.

我正在使用IntelliJ 11,Git 1.7.9和Windows 7.

我很困惑,特别是因为GitHub帐户知道谁做了什么,而不是GitHub存储库和我的所有提交甚至存储库创建都是通过IntelliJ.任何想法要看什么?

git github intellij-idea

10
推荐指数
1
解决办法
7837
查看次数

大型内部类和私有变量

我遇到的一件事是服务类(比如JBoss服务)由于帮助器内部类而变得过大.我还没有找到一个打破课堂的好方法.这些助手通常是线程.这是一个例子:

/** Asset service keeps track of the metadata about assets that live on other
 * systems. Complications include the fact the assets have a lifecycle and their
 * physical representation lives on other systems that have to be polled to find
 * out if the Asset is still there. */
public class AssetService
{
  //...various private variables
  //...various methods

  public AssetService()
  {
    Job pollerJob = jobService.schedule( new AssetPoller() );
    Job lifeCycleJob = jobService.schedule( AssetLifecycleMonitor() );
  }

  class AssetPoller
  { …
Run Code Online (Sandbox Code Playgroud)

java jboss class-design

9
推荐指数
1
解决办法
908
查看次数

Swagger:你如何为第三方代码添加ApiModelProperty?

我有一个使用Swagger的Java项目.它在生成swagger.json方面做得很好,但它将所有输出字段列为可选,我需要其中一些.这对我的代码来说不是问题,因为我可以添加@ApiModelProperty注释并指定它是否是必需的.

问题在于来自第三方罐子的物品.我不能去注释那段代码.如何在第三方代码上创建@ApiModelProperty的等效功能?

java swagger

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

使用JAXB的同一Java对象的多个XML映射?

注意:编辑它以在JAXB周围重新定义它以获得新的答案.我正在使用CXF,但是它使用JAXB作为映射.

我有一个POJO模型.现在我通过注释映射并使用JAXB来喷射/读取XML.然而,这只是一种XML格式,我需要根据我正在集成的第三方系统将该POJO模型映射到各种XML格式之一(例如,各种第三方都有"人"的概念,但是以不同的方式映射).我已经阅读了整个JAXB教程,但所有内容都以注释为中心.有没有一些外部方法来映射类,所以我可以读/写多个映射,我选择在任何给定点使用的映射(即我知道我向Foo公司喷出一个"人",所以使用foo映射)?

编辑:我刚刚发现了一些可能起作用的JAXBIntroductions. http://community.jboss.org/wiki/JAXBIntroductions

java jaxb

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

Gradle:有关任务失败的自定义消息?

我想了解compileJava目标并在失败时吐出一条额外的自定义消息。我们有一个非常普通的案例设置案例,很多人都忽略了它,并且只有在失败的情况下,它才能执行以下操作:

compileJava.onFailure { 
   println "Did you configure your wampfrankle to talk to the slackometer?" 
}
Run Code Online (Sandbox Code Playgroud)

我的Google技能尚未找到答案。

gradle

5
推荐指数
2
解决办法
1179
查看次数