我正在尝试 Kotlin 序列化。按照说明进行设置后,我收到Unresolved reference: serializer以下代码的构建错误:
val serializer : KSerializer<User> = User.serializer()
Run Code Online (Sandbox Code Playgroud)
我猜测编译器插件不知何故没有启动,但看不到我在设置中错过的内容。
这是我的build.gradle.kts:
buildscript {
val kotlinVer: String by extra("1.3.20")
repositories { jcenter() }
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVer")
classpath("org.jetbrains.kotlin:kotlin-serialization:$kotlinVer")
}
}
plugins {
id("org.jetbrains.kotlin.jvm").version("1.3.20")
application
"kotlin"
"kotlinx-serialization"
}
repositories {
jcenter()
maven("https://kotlin.bintray.com/kotlinx")
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
compile("org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.10.0")
testImplementation("org.jetbrains.kotlin:kotlin-test")
testImplementation("org.jetbrains.kotlin:kotlin-test-junit")
}
application {
mainClassName = "com.digizen.AppKt"
}
Run Code Online (Sandbox Code Playgroud) 为了初始化我的记录器显然我需要:
val LOGGER : Logger = LoggerFactory.getLogger(Foo::class.java);
Run Code Online (Sandbox Code Playgroud)
如果我做:
val LOGGER : Logger = LoggerFactory.getLogger(Foo::javaClass);
Run Code Online (Sandbox Code Playgroud)
它抱怨参数类型与之不兼容getLogger.但是根据API,两者都是Class<Foo>.他们有什么不同?
如果我有这样的文件:
cat file1.txt
foo
bar
Run Code Online (Sandbox Code Playgroud)
cat file2.txt
foo
baz
Run Code Online (Sandbox Code Playgroud)
cat file3.txt
bar
baz
Run Code Online (Sandbox Code Playgroud)
ripgrep (或类似)上是否有一个命令可以搜索包含 foo 和 bar 的文件?例如,它将显示 file1.txt 但不显示其他两个文件?(注意 foo 和 bar 可能不在同一行。)
然后第二个问题,为了变得更奇特,我可以使用一些语法来计算带有 foo 的文件,但如果它们也包含 bar 则排除它们吗?例如,它只会显示 file2.txt?
谢谢!
我想写这样的东西:
var classList = ArrayList<Class<Any>>()
init {
classList.add(ClassA::class.java)
classList.add(ClassB::class.java)
}
Run Code Online (Sandbox Code Playgroud)
这让我错误如下:
Type inference failed. Expected type mismatch: inferred type is Class<ClassA> but Class<Any> was expected
Run Code Online (Sandbox Code Playgroud)
我可以通过进行显式转换来消除错误:
domainClasses.add(NameIdMapping::class.java as Class<Any>)
Run Code Online (Sandbox Code Playgroud)
这让我得到了一个"未经检查的演员"警告.这是我能做的最好的吗?如何干净利落地做到这一点?
我有一个package.json依赖,而不是目标npm package是使用自己的房子回购,我们有这样的事情:
"myDependency": "git+https://fantasticUrl/_git/repoName"
Run Code Online (Sandbox Code Playgroud)
我们想要实现的是在目标库中定位特定文件夹,而不是拉动整个项目.我认为它应该是这样的:
"myDependency": "git+https://fantasticUrl/_git/repoName/targetFolder"
Run Code Online (Sandbox Code Playgroud)
但不幸的是它似乎没有起作用.
任何提示和帮助都非常感激.
干杯谢谢!
我的多行日志记录事件都结束了多个事件-每行一个事件。根据文档:
每次调用LambdaLogger.log()都会导致CloudWatch Logs事件...
但是之后:
但是,请注意,AWS Lambda将System.out和System.err返回的每一行都视为一个单独的事件。
查看LambdaAppender的源代码,看来它仍然可以继续记录该事件System.out。那么,这是否意味着多行消息将始终分解为多个事件?
我已经阅读了有关配置multi_line_start_pattern的内容,但这似乎仅适用于部署Log Agent,而该代理在Lambda中无法访问。
[编辑] LambdaAppender日志到LambdaLogger哪个日志System.out。
[编辑]我发现了一些建议解决方法的帖子-打印消息时使用'\ r'作为eol。这似乎适用于我的代码生成的消息。到处记录的堆栈跟踪仍然是一个问题。
[编辑] 我一直在使用两种解决方法:
将'\ n'替换为'\ r'。对于堆栈跟踪,我创建了一个实用程序方法(这在Kotlin中,但是这个想法足够通用):
fun formatThrowable(t: Throwable): String {
val buffer = StringWriter()
t.printStackTrace(PrintWriter(buffer))
return buffer.toString().replace("\n", "\r")
}
Run Code Online (Sandbox Code Playgroud)我认为,从长远来看,更理想的解决方案将是decorating的Appender实现,该实现ConsoleAppender将对\r所有通过的消息进行替换。
logging amazon-web-services amazon-cloudwatch aws-lambda amazon-cloudwatchlogs
我通过听“Spring & Hibernate for Beginners”udemy 课程来学习 Java Spring 框架。我在尝试导入org.springframework.context.support.ClassPathXmlApplicationContext时遇到了困难;
Eclipse 显示错误: ClassPathXmlApplicationContext 无法解析
我正在听的课程的作者仍然没有涉及 Maven(和 pom.xml),因为他在课程中专注于“纯”Java 和 Spring,所以请不要指导我使用 Maven 来组织项目。
我将spring-framework-5.0.2.RELEASE-dist中的所有 jar 添加到我的项目构建路径中。
有趣的是,当我执行 CTRL+Shift+O Eclipse 时,它会自动导入org.springframework.context.support.ClassPathXmlApplicationContext包,但它在导入行( org下的红线)中显示错误,并在我的 main 函数中显示错误我尝试使用上下文的行:
ClassPathXmlApplicationContext context =
new ClassPathXmlApplicationContext("applicationContext.xml");
Run Code Online (Sandbox Code Playgroud)
请帮忙。
我正在尝试使用curl向我的手机发送消息:
curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/<my-trial-sid>/Messages.json' \
--data-urlencode 'To=+<my-phone-number>' \
--data-urlencode 'From=+15005550006' \
--data-urlencode 'Body=Hello from twilio' \
-u <my-trial-sid>:<my-trial-token>
Run Code Online (Sandbox Code Playgroud)
然而我从来没有在电话里收到过这条消息。响应显示状态为“已排队”。是什么阻止了它被发送?
我得到的完整回复:
{"sid": "SM18ce5f04a0ed4d6e8bfdc91d862d7b7f", "date_created": "Wed, 08 Mar 2017 01:59:07 +0000", "date_updated": "Wed, 08 Mar 2017 01:59:07 +0000", "date_sent": null, "account_sid": "<my-trial-sid>", "to": "+<my-phone-number>", "from": "+15005550006", "messaging_service_sid": null, "body": "Sent from your Twilio trial account - Hello from twilio", "status": "queued", "num_segments": "1", "num_media": "0", "direction": "outbound-api", "api_version": "2010-04-01", "price": null, "price_unit": "USD", "error_code": null, "error_message": null, "uri": "/2010-04-01/Accounts/<my-trial-sid>/Messages/SM18ce5f04a0ed4d6e8bfdc91d862d7b7f.json", "subresource_uris": {"media": …Run Code Online (Sandbox Code Playgroud) 我试图添加一个Javadoc来解释类正在做什么,但是遇到声纳警报。
跟踪“ TODO”标签的使用(鱿鱼:S1135)
问题是,TODO一词不用作待办事项消息或与@todo一起使用。这是我的javadoc:
/** Model which defines data from the oracle view V_THINGS_TODO which contains blabla */
public class ThingsTodo ... {
Run Code Online (Sandbox Code Playgroud)
Java文档中有TODO字,但作为View名称...到目前为止,我正在使用此变通方法V_THINGS_T0D0(为0 1 2 ..),但是如果有人尝试在数据库中搜索此字,这有点不好。
有什么我不知道的不可思议的技巧,可以不使用待办事项词触发此警报吗?
下次我将对保留字更加谨慎:-<
kotlin ×3
java ×2
aws-lambda ×1
dependencies ×1
eclipse ×1
git ×1
grep ×1
javadoc ×1
logging ×1
npm ×1
package.json ×1
ripgrep ×1
search ×1
sonarqube ×1
spring ×1
twilio ×1
twilio-api ×1