我试图将应用程序与单声道3.2.3捆绑到一个独立的可执行文件.为此,我遵循本指南.声明变量后:
mono_version="3.2.3"
export MONO=/cygdrive/c/progra~2/Mono-$mono_version
machineconfig=$PROGRAMFILES\\Mono-$mono_version\\etc\\mono\\4.5\\machine.config
export PATH=$PATH:$MONO/bin
export PKG_CONFIG_PATH=$MONO/lib/pkgconfig
export CC="i686-pc-mingw32-gcc -U _WIN32"
Run Code Online (Sandbox Code Playgroud)
mkbundle --deps命令无法本地化引用的程序集:
Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'gtk-sharp' or
one of its dependencies. The system cannot find the file specified.
File name: 'gtk-sharp'
Run Code Online (Sandbox Code Playgroud)
使用mono 2.10.9执行完全相同的操作:
mono_version="2.10.9"
export MONO=/cygdrive/c/progra~2/Mono-$mono_version
machineconfig=$PROGRAMFILES\\Mono-$mono_version\\etc\\mono\\4.0\\machine.config
export PATH=$PATH:$MONO/bin
export PKG_CONFIG_PATH=$MONO/lib/pkgconfig
export CC="i686-pc-mingw32-gcc -U _WIN32"
mkbundle --deps --machine-config "$machineconfig" -c UI.exe
Run Code Online (Sandbox Code Playgroud)
给出积极的结果:
OS is: Windows
WARNING:
Check that the machine.config file you are bundling
doesn't contain sensitive information specific …Run Code Online (Sandbox Code Playgroud) 我们假设我们有一个班级:
public class SomeClass {
protected SomeClass () {
}
}
Run Code Online (Sandbox Code Playgroud)
在MainClass位于不同的包中我尝试执行两行:
public static void main(String[] args) {
SomeClass sac1 = new SomeClass();
SomeClass sac2 = new SomeClass() {};
}
Run Code Online (Sandbox Code Playgroud)
由于protected构造函数,在这两种情况下我都希望程序失败.令我惊讶的是,匿名初始化工作正常.有人可以解释为什么第二种初始化方法可以吗?
让我们假设我上课MySource:
public class MySource {
public String fieldA;
public String fieldB;
public MySource(String A, String B) {
this.fieldA = A;
this.fieldB = B;
}
}
Run Code Online (Sandbox Code Playgroud)
我想把它翻译成对象MyTarget:
public class MyTarget {
public String fieldA;
public String fieldB;
}
Run Code Online (Sandbox Code Playgroud)
使用默认的ModelMapper设置我可以通过以下方式实现它:
ModelMapper modelMapper = new ModelMapper();
MySource src = new MySource("A field", "B field");
MyTarget trg = modelMapper.map(src, MyTarget.class); //success! fields are copied
Run Code Online (Sandbox Code Playgroud)
然而,它可能发生,即MySource对象将是null.在这种情况下,MyTarget也将null:
ModelMapper modelMapper = new ModelMapper();
MySource src = null; …Run Code Online (Sandbox Code Playgroud) 为什么IntStream.sum()返回一个int值?这是一些概念上的错误吗?从示例数组创建流时:
int A[] = {2^31-5, 2, 2, 2};
Run Code Online (Sandbox Code Playgroud)
所有元素的总和超过最大整数值,但不会抛出异常.有人知道如何预防这种情况吗?