使用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注释?
这是获取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.一切都一样.
我很困惑......
我有一个案例,我只是无法弄清楚如何让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居民比我更聪明:)
我有一个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的方法执行相同的操作?
迁移到 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 分钟,并且解释分析显示:
所以,我的问题是,哪些因素对未物化 CTE 不利?我正在寻找概念/想法,这样我就可以深入研究我的 SQL,看看是否有办法让 NOT MATERIALIZED 更好地为我工作。
我知道如果没有 SQL,这会很困难,但它大约有 230 行长。如果觉得这个问题无法回答,我们可以删除它。
解释带有和不带有具体化的链接。但不确定explain.depesz.com 会将这些保留多久。
我刚刚建立了一个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.任何想法要看什么?
我遇到的一件事是服务类(比如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) 我有一个使用Swagger的Java项目.它在生成swagger.json方面做得很好,但它将所有输出字段列为可选,我需要其中一些.这对我的代码来说不是问题,因为我可以添加@ApiModelProperty注释并指定它是否是必需的.
问题在于来自第三方罐子的物品.我不能去注释那段代码.如何在第三方代码上创建@ApiModelProperty的等效功能?
注意:编辑它以在JAXB周围重新定义它以获得新的答案.我正在使用CXF,但是它使用JAXB作为映射.
我有一个POJO模型.现在我通过注释映射并使用JAXB来喷射/读取XML.然而,这只是一种XML格式,我需要根据我正在集成的第三方系统将该POJO模型映射到各种XML格式之一(例如,各种第三方都有"人"的概念,但是以不同的方式映射).我已经阅读了整个JAXB教程,但所有内容都以注释为中心.有没有一些外部方法来映射类,所以我可以读/写多个映射,我选择在任何给定点使用的映射(即我知道我向Foo公司喷出一个"人",所以使用foo映射)?
编辑:我刚刚发现了一些可能起作用的JAXBIntroductions. http://community.jboss.org/wiki/JAXBIntroductions
我想了解compileJava目标并在失败时吐出一条额外的自定义消息。我们有一个非常普通的案例设置案例,很多人都忽略了它,并且只有在失败的情况下,它才能执行以下操作:
compileJava.onFailure {
println "Did you configure your wampfrankle to talk to the slackometer?"
}
Run Code Online (Sandbox Code Playgroud)
我的Google技能尚未找到答案。
java ×4
gradle ×2
ant ×1
artifactory ×1
class-design ×1
git ×1
github ×1
jaxb ×1
jboss ×1
kotlin ×1
lombok ×1
mockito ×1
postgresql ×1
println ×1
swagger ×1