在Kotlin项目中,什么是正确的Gradle脚本以确保我的类将被编译为字节码52(Java 8)?
出于某种原因,即使我设置了源和目标兼容性,我的类也编译为ver 50(Java 6).至少这是Idea build/classes/...在构建项目后从目录中打开文件时向我显示的内容.
我目前的设置看起来像这样.
buildscript {
ext {
kotlinVersion = '1.0.5-2'
springBootVersion = '1.4.2.RELEASE'
}
repositories { mavenCentral() }
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
}
}
apply plugin: 'kotlin'
apply plugin: 'org.springframework.boot'
tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
## I also tried this and it hasn't helped
#sourceCompatibility = 1.8
#targetCompatibility = 1.8
repositories { mavenCentral() }
dependencies {
compile("org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}")
compile('org.springframework.cloud:spring-cloud-starter-stream-rabbit')
}
dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:Camden.SR2" } }
Run Code Online (Sandbox Code Playgroud) 有很多教程展示了如何在 Rust 中编写单元测试。我读过十几本书,所有这些都侧重于在成功的情况下维护价值观。对于error. PartialEq默认情况下,错误不会实现特征,因此您不能使用assert_eq!宏。此外,根据发生的问题类型(例如io::Error,可能是不同类型的),某些函数可能会返回多个错误变体。我可以检查是否发生了错误,但这似乎还不够。
下面举例。
fn parse_data(input: i32) -> Result<i32, io::Error> {
match input {
0 => Ok(0),
_ => Err(io::Error::new(io::ErrorKind::InvalidData, "unexpected number"))
}
}
#[test]
fn test_parsing_wrong_data() {
let result = parse_data(1);
assert!(result.is_err());
let got = result.unwrap_err();
let want = io::Error::new(io::ErrorKind::InvalidData, "unexpected number");
// compilation error here: binary operation `==` cannot be applied to type `std::io::Error`
assert_eq!(want, got);
}
Run Code Online (Sandbox Code Playgroud)
我认为这不是惯用的方法,因为它没有编译。因此,问题是 - 在类似情况下,什么是适当且惯用的方法?
假设你有输入元素:
<input id="aaa" type="text" value="unchanged" />
Run Code Online (Sandbox Code Playgroud)
然后启动js脚本:
var e = document.getElementById("aaa");
e.value = "changed";
alert(e.defaultValue + "/" + e.value);
Run Code Online (Sandbox Code Playgroud)
结果将"未更改/更改".不幸的是,当你的输入元素是hidden:
<input id="aaa" type="hidden" value="unchanged" />
Run Code Online (Sandbox Code Playgroud)
...相同的js脚本似乎不再起作用了.结果"已更改/更改".这是一种正确的方法吗?如果是这样,为什么只有隐藏的表单元素表现不同
我正在使用Mac进行开发.我使用brew install rust了Rust 1.13.0和用于IntelliJ IDEA的Rust插件0.1.0.1385.我创建了我的第一个测试项目,cargo并在用IDEA打开它时得到了消息
没有找到标准库源,一些代码洞察力将无法工作
我没有找到任何源安装,也没有找到Homebrew中的Rust源包.
如何忽略此步骤,如何为项目提供源代码以及实际意义?
我正在尝试将Spring Cloud Stream应用程序构建脚本移植到Kotlin.到目前为止,非常好,除了依赖管理块.在网上很难找到任何东西.样本也不包括该主题.
如何将以下块转换为build.gradle.kts?谢谢.
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:Camden.SR2"
}
}
Run Code Online (Sandbox Code Playgroud) JetBrains IDE平台有非常有用的功能,我使用了很多,我发现它是一个性能助推器.当我在编辑器中有一个单词,并且我想要更改或更新该单词时,我会执行以下操作.
getTimeInSeconds()为getTimeInMinutes()- 我将光标放在后面getTimeIn,获得自动完成功能,然后按TAB键.没有什么可以删除,一切都被替换.默认情况下,VSCode仅支持"ENTER"用例.它是否支持"TAB"用例?如果是这样,如何启用它?
从 Go 1.13 开始,我们能够链接错误,解开它们并通过errors.Is()和检查链中的任何错误是否与任何预期错误匹配errors.As()。
要包装错误,您所要做的就是使用%w动词,fmt.Errorf()如下所示。
fmt.Errorf("Custom message: %w", err)
Run Code Online (Sandbox Code Playgroud)
这很简单,它err用另外的消息包装在另一个中。但假设我需要更多的上下文而不仅仅是一条消息。如何包装我err自己的结构化自定义错误?仅使用 Go 1.13+ 标准库。
最近IntelliJ建议添加final到其中一个val属性.此特定属性已在init {}块中初始化.我试图找出final val构造的语义是什么,何时应该使用它,但Kotlin是关于不变性的,如何在Java中val等效,final因此结果如此嘈杂,我找不到任何东西.
例:
final val id: Int // `final` suggested by IDE
init { id = 1 }
Run Code Online (Sandbox Code Playgroud)
类似财产的含义和可能用途是什么?通过应用final它所暗示的超越不可变性的限制,这是已知的?它与继承或外部访问有什么关系吗?
final如果财产是,IntelliJ停止了sugessting private.
我正在使用带有RabbitMQ活页夹的Spring Cloud Stream.它适用于byte[]有效负载和Java本机序列化,但我需要使用JSON有效负载.
这是我的处理器类.
@EnableBinding(Processor.class)
public class MessageProcessor {
@ServiceActivator(inputChannel = Processor.INPUT, outputChannel = Processor.OUTPUT)
public OutputDto handleIncomingMessage(InputDto inputDto) {
// Run some job.
return new OutputDto();
}
}
Run Code Online (Sandbox Code Playgroud)
InputDto并且OutputDto是杰克逊注释的POJO.
在Primefaces 3.5中p:selectOneMenu,button当你将它们放在一行时,垂直对齐并且很奇怪.我的用例是:用户从菜单中选择选项,然后单击按钮激活它.问题是 - 两个组件必须在同一行(表行).
XHTML非常简单:
<h:form>
<p:selectOneMenu>
<f:selectItem itemLabel="test" itemValue="test"/>
</p:selectOneMenu>
<p:commandButton value="GO"/>
</h:form>
Run Code Online (Sandbox Code Playgroud)
不幸的是结果不是我所期望的: 
我的期望是这样的:
要么 
我试图用Firebug研究渲染的HTML代码,但老实说,我很难找到任何CSS边距,填充,左边,顶部或类似的东西可以帮助我.
任何人都在努力解决这个问题(希望 - 解决它)?
kotlin ×3
gradle ×2
rust ×2
autocomplete ×1
build-script ×1
css ×1
dom ×1
go ×1
homebrew ×1
immutability ×1
javascript ×1
json ×1
primefaces ×1
spring ×1
spring-cloud ×1
themes ×1
unit-testing ×1