Tag: intellij idea

Gradle:使“测试”源设置取决于“主”源集

这是我的项目结构: 这是Intellij IDEA为使用Gradle构建的Kotlin项目创建的默认项目结构。 由于某些原因, main源集并没有被设置为test源集的依赖关系,所以不可能编写单元测试。 我可以在IDEA的“模块设置”中手动添加这个依赖关系,但是每次有一个Gradle刷新,这个设置就会消失。 我的猜测是,当使用Gradle时,IDEA模块设置完全复制Gradle设置,所以为了使依赖性持久化,必须将其添加到build.gradle 。 语法是什么?

增加内存后,IntelliJ堆大小错误

在IntelliJ 2016.1.1将堆大小增加到2048后,出现以下错误 (我用32位的Java运行,因为包含的库在64位中不可用。) 我到目前为止还没有JVM的编译器错误的经验,所以任何帮助表示赞赏。 错误:构建过程终止异常:“C:\ Program Files(x86)\ Java32 \ jdk1.8.0_101 \ bin \ java”-Xmx2048m -Djava.awt.headless = true -Djava.endorsed.dirs = \“\” – Djdt.compiler.useSingleThread = true -Dcompile.parallel = false -Drebuild.on.dependency.change = true -Djava.net.preferIPv4Stack = true -Dio.netty.initialSeedUniquifier = -4014826147147167521 -Dfile.encoding = windows-1252 -Djps .file.types.component.name = FileTypeManager -Duser.language = fr -Duser.country = FR -Didea.paths.selector = IntelliJIdea2016.1“-Didea.home.path = C:\ Program […]

关于gradle依赖的未解决的参考?

我在我的gradle构建文件中有以下maven repo listen, maven { url 'https://nexus.company.com/repository/maven-company-releases' // Omitting the credentials block for brevity. } 在我的依赖关系中,我有以下几点。 compile "com.company:dependency:0.0.1" 现在,当我这样做 gradle clean idea 它似乎工作,似乎没有抱怨不能找到依赖或任何东西 – 所以我认为它从联系人得到它。 无论如何,当我尝试构建 – 我得到以下错误。 Kotlin: Unresolved reference: dependency 为intelliJ添加一个标签 – 万一这是一个愚蠢的同步问题…万一有人想知道…

Kotlin:使用lambda代替功能界面?

在Java中,我们可以这样做Events.handler(Handshake.class, hs -> out.println(hs)); 但是在Kotlin中,我试图复制这个行为来取代这个: Events.handler(Handshake::class, object : EventHandler<Handshake> { override fun handle(event: Handshake) { println(event.sent) } }) 用更方便: Events.handler(Handshake::class, EventHandler<Handshake> { println(it.sent) }) 出于某种原因参考EventHandler : 更好的是,但是我想使用更短的东西,像这样: Events.handler(Handshake::class, { println(it.sent) }) 或者使用广告的功能来使用这样的方法: Events.handler(Handshake::class) { println(it.sent) } 这是我的Events对象: import java.util.* import kotlin.reflect.KClass object Events { private val map = HashMap<Class<*>, Set<EventHandler<*>>>() fun <T : Any> handler(eventType: […]

为什么Netbeans抱怨模糊,而Intellij却没有

我有一个kotlin数学库与以下Vec2i 类和主要构造函数 : data class Vec2i(override var x: Int, override var y: Int) : Vec2t<Int>() 然后, Vec2i也在几个次要的构造函数中设计了一个截取所有其他数字类型的函数: constructor(x: Number, y: Number) : this(xi, yi) 在Idea下编译并运行。 我用一个单独的java项目测试了工件。 如果我切换IDE,相同的工件不会在java项目中运行,Netbeans会抱怨两者之间的不明确性。 为什么? 编辑:从一些进一步的分析,原来Netbeans抱怨,因为其中一个坐标是int ,另一个Integer 。 想法也一样,它说: 无法解析构造函数 那么,为什么用(int, int)或(Integer, Integer)调用一个构造函数是好的,但是(int, Integer)没有解析到二级构造函数中,并引起歧义?

Spring Boot无法在IntelliJ中运行单个测试

最近开始发生,但我不确定是什么改变了。 当我从IntelliJ运行所有测试时,一切都很好。 而且gradle build也很好。 当我运行一个单元测试时,一切都很好。 当我运行一个Web集成测试时,它失败,因为一个配置类具有所有的空属性。 配置类看起来像(Kotlin): @Component @ConfigurationProperties(prefix = "api") public open class ApiConfigImpl : ApiConfig { 一个测试看起来像: @RunWith(SpringJUnit4ClassRunner::class) @ContextConfiguration(classes = arrayOf(ApplicationAssembly::class), loader = SpringApplicationContextLoader::class) @WebIntegrationTest open class CandidateProfileControllerTest { @Inject lateinit var profileRepo: CandidateProfileRepository //etc a few more deps used to setup test data @Test open fun getById() { val greg = CandidateProfile("123", […]

Kotlin和Gradle没有Maven中央?

我正在尝试在IDEA中构建一个Kotlin项目,而不使用Maven Central(我在防火墙之后)。 我在本地创建了一些flatDir存储库,以获得必要的依赖关系,如此处所述进行设置和编译。 我正在进步,消除错误只是为了获得新的。 但我无法弄清楚我在这里做错了什么。 当我尝试导入Gradle项目时,Intellij IDEA正在抛出这个对话框。 构建脚本错误,发现不支持的Gradle DSL方法:'compile()'! 可能的原因可能是: – 您正在使用的Gradle版本中没有方法(修复Gradle设置) – 您没有应用提供方法的Gradle插件(Apply Gradle插件) – 或者在构建脚本中存在错误资源) 如何让Kotlin和Gradle在离线状态下在本地建立? UPDATE 我试图运行以下修改 buildscript { repositories { flatDir { dirs += 'H:/Processes/Development/libraries/kotlin' dirs += 'H:/Processes/Development/libraries/apache-commons' } } dependencies { classpath 'org.apache.commons:commons-lang3:3.+' classpath 'org.jetbrains.kotlin:kotlin-runtime:1.0.+' classpath 'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.0.+' classpath 'org.jetbrains.kotlin:kotlin-stdlib:1.0.+' classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.+' classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin-core:1.0.+' classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.0.+' } } apply plugin: 'kotlin' […]

Groovy类在gradle中不可用

我有一个kotlin/spring项目,所以我有这个文件夹结构: – src – main – groovy – org.gradle.tasks CoreTask.groovy – kotlin – org.backend.srs MainApplication.kt – services – repositories – dao 在我的build.gradle我有: … apply plugin: 'kotlin' apply plugin: 'kotlin-spring' apply plugin: 'groovy' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' … task core << { CoreTask coreTask = new CoreTask() } 不过IntelliJ IDEA抱怨类不存在。 即使我尝试导入它没有找到import org.gradle.tasks.CoreTask 。

在运行应用程序时,Intellij不包括对classpath的gradle依赖

当从IDE运行应用程序(这是kotlin应用程序,但不应该),IntelliJ不包括通过对类路径的logback-classic依赖。 我的gradle版本包含一行: compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.+' IntelliJ中的“外部库”下正确列出了依赖项。 当我尝试手动引用依赖项在源代码中提供的类时,编译器不会发出抱怨,并且会成功编译代码。 但是,当我运行应用程序时,我得到了ClassNotFoundException。 //This import is provided by logback-classic library import org.slf4j.impl.StaticLoggerBinder … // This compiles successfully, but will trigger ClassNotFoundException when run val singleton = StaticLoggerBinder.getSingleton() 我列出了代码来列出运行时类路径: val cl = ClassLoader.getSystemClassLoader() val urls = (cl as URLClassLoader).urLs for (url in urls) { System.out.println(url.file) } 而从IDE运行的输出不包括logb​​ack-classic。 […]

IntelliJ + JUnit 5(木星)

我的build.gradle有: testCompile 'org.junit.jupiter:junit-jupiter-api:5.0.0' 使用http://junit.org/junit5/docs/current/user-guide/中的标准示例 import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; class FirstJUnit5Tests { @Test void myFirstTest() { assertEquals(2, 1 + 1); } } 当我尝试在IntelliJ 2017.2.3中作为JUnit测试运行时,我得到: objc[32347]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java (0x10f5be4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10f6864e0). One of the two will be used. Which one is undefined. Sep 11, 2017 12:39:04 PM org.junit.platform.launcher.core.DefaultLauncher handleThrowable WARNING: […]