我正面临一个异常ng build
(为差异加载生成 ES5 包......)
An unhandled exception occured: Call retires were exceeded
Run Code Online (Sandbox Code Playgroud)
使用过的版本:
8.3.20
8.2.7
12.12.1
同样在日志中,它被提到
[error] Error: Call retries were exceeded at ChildProcessWorker.initialize
Run Code Online (Sandbox Code Playgroud) 例如,对于数据库行,我们可能需要可为空的属性,并且这些属性不得未定义:
class DbRow {
@IsNumber()
id!: number;
@IsNumber()
numNullable!: number | null;
}
Run Code Online (Sandbox Code Playgroud)
所以numNullable
可以是数字或null
- 但绝不能是undefined
。
我们如何在类验证器中表达这一点?
@Optional()
不起作用,因为这也将允许undefined
为什么我们在Android Studio 3.0 RC1中出现此错误?
com.android.dx.cf.code.SimException:
default or static interface method used without --min-sdk-version >= 24
Run Code Online (Sandbox Code Playgroud)
根据android文档,"默认和静态接口方法"功能与任何 min-sdk版本兼容.
我将其跟踪到一个调用Comparator.naturalOrder()的java库- 它已经在API级别24中添加了.
所以我不希望在java库中对此代码有任何错误消息.
当我在我自己的android-app或lib java代码中使用代码时,我看到正确的lint消息:"Call需要API级别24"
错误消息是错误的还是我错过了什么?
我有如下情况:
myObservable1.pipe(
switchMap((result1: MyObservable1) => {
if (condition) {
return myObservable2;
} else {
return of(null);
}
})
).subscribe(myObservable1 | myObservable2) => {
Run Code Online (Sandbox Code Playgroud)
因此,如果条件为假,我只需要执行一个请求,如果条件为真,我必须将第一个请求链接到下一个请求,它们本质上是对服务器 api 的两个请求。
有没有更好的解决方案而不返回它null
?
RxJs 中有条件运算符吗?
谢谢!
根据文档:
TimescaleDB 支持在同一个 PostgreSQL 实例中的不同数据库上有不同的扩展版本。
我可以使用此 SQL 命令获取实例的已安装版本:
SELECT extversion
FROM pg_extension
where extname = 'timescaledb';
Run Code Online (Sandbox Code Playgroud)
但是如何获取特定数据库的版本?
笔记:
ALTER EXTENSION timescaledb UPDATE;
)tl; dr:我无法配置IntelliJ来生成与gradle相同的目录中的java文件
我有一个使用immutables注释处理器的小项目.它在gradle命令行构建中按预期工作,但我无法让IntelliJ将生成的文件输出到同一目录.
整个项目可在GitLab上获得
Gradle配置:
我使用以下gradle插件:
build-script的相关部分(链接到完整列表):
apply plugin: 'java'
apply plugin: "net.ltgt.apt"
apply plugin: 'idea'
dependencies {
def immutablesVersion = '2.3.9'
compileOnly "org.immutables:value:$immutablesVersion:annotations"
compileOnly "org.immutables:encode:$immutablesVersion"
apt "org.immutables:value:$immutablesVersion"
}
Run Code Online (Sandbox Code Playgroud)
DataEncoding.java
处理源文件,生成的java文件DataEncodingEnabled.java
最终进入/build/generated/source/apt/main
根据预期的方案 com.tmtron.immutables.data
在IntelliJ中,我按照gradle-apt-plugin文档的建议激活注释处理:
然后我执行./gradlew clean
以确保先前的文件已经消失然后我单击Build
- Build Project
在IntelliJ中.
执行注释处理器,但问题是生成的java文件最终位于错误的位置:
它位于:/ build/generated/source/apt/main/build/generated/source/apt/main /com.tmtron.immutables.data
,粗体部分是多余的.
我做错了什么以及如何正确设置,以便IntelliJ和gradle在同一目录中生成文件?
笔记:
在以下示例中,调用将AssertTestObj()
导致访问冲突.
Project InvokeTest2.exe引发异常类$ C0000005,并显示消息'0x00000000访问冲突:读取地址0x00000000'.
在调试时我可以看到Assigned(NotifyProc)
测试中TSafeCall<T>.Invoke()
没有按预期工作 - 因此Invoke()
尝试执行NotifyProc
哪个nil
因此导致访问冲突.
任何想法为什么失败以及如何解决它?
program InvokeTest2;
{$APPTYPE CONSOLE}
uses
System.SysUtils;
type
TSafeCall<T> = class
public
type
TNotifyProc = reference to procedure (Item: T);
class procedure Invoke(NotifyProc: TNotifyProc; Item: T); overload;
end;
TOnObj = procedure (Value: String) of object;
{ TSafeCall<T> }
class procedure TSafeCall<T>.Invoke(NotifyProc: TNotifyProc; Item: T);
begin
if Assigned(NotifyProc) then
NotifyProc(Item);
end;
procedure AssertTestObj(OnExceptionObj_: TOnObj; Value_: String);
begin
TSafeCall<String>.Invoke(OnExceptionObj_, Value_);
end;
begin
try …
Run Code Online (Sandbox Code Playgroud) 将android gradle插件从3.0.0-alpha1升级到3.0.0-alpha 2后,我的应用程序不再启动:stacktrace的一部分:
05-27 09:14:57.692 3015-3015/com.tmtron.dscontrol2app.debug E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.tmtron.dscontrol2app.debug, PID: 3015
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tmtron.dscontrol2app.debug/com.tmtron.dscontrol2.gui.MainActivity}: android.view.InflateException: Binary XML file line #17: Binary XML file line #17: Error inflating class android.support.v7.widget.FitWindowsLinearLayout
Caused by: android.view.InflateException: Binary XML file line #17: Binary XML file line #17: Error inflating class android.support.v7.widget.FitWindowsLinearLayout
Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class android.support.v7.widget.FitWindowsLinearLayout
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.widget.FitWindowsLinearLayout" on path: DexPathList[[zip file "/data/app/com.tmtron.dscontrol2app.debug-ZE45jTeV6eTnNIeveAjAbw==/base.apk", …
Run Code Online (Sandbox Code Playgroud) 突然我的 Docker 终端停止接受键盘输入。
Paste
)我尝试过以下方法(没有效果):
笔记:
Open in terminal
从 Docker-desktop 使用时,它会打开一个带有 /bin/sh 的终端并且输入有效有任何想法吗?
uses
SysUtils, Variants;
var
VariantSingle: Variant;
VTSingle: TVarType;
SingleTest: Single;
VariantDouble: Variant;
DoubleTest: Double;
VTDouble: TVarType;
begin
SingleTest := 1.234;
VariantSingle := SingleTest;
VTSingle := VarType(VariantSingle) and varTypeMask;
DoubleTest := 1.23456;
VariantDouble := DoubleTest;
VTDouble := VarType(VariantDouble) and varTypeMask;
WriteLn(Format('VarType: Single: %d, Double %d', [VTSingle, VTDouble]));
end.
Run Code Online (Sandbox Code Playgroud)
上面的代码将输出:
VarType:单身:5,双人5
来自System.pas
varSingle = $0004; { vt_r4 4 }
varDouble = $0005; { vt_r8 5 }
Run Code Online (Sandbox Code Playgroud)
因此,我希望VTSingle是4 - 而不是5
我错过了什么?
delphi ×2
android ×1
angular ×1
angular-cli ×1
angular8 ×1
delphi-xe3 ×1
gradle ×1
java-8 ×1
ng-build ×1
rxjs ×1
switchmap ×1
timescaledb ×1
variant ×1