我在github上阅读wiki for git,它说msys2捆绑了pacman:https://github.com/git-for-windows/git/wiki/Package-management
但是当我调用它时:
$ pacman
bash: pacman: command not found
Run Code Online (Sandbox Code Playgroud)
有谁知道发生了什么?这个wiki指的是哪个git版本?有没有办法在Git for windows中为msys2安装额外的软件包?
我正在尝试向量并编写一个简单的代码来通过枚举访问它的元素.
Vector v = new Vector();
v.add("Some String");
v.add(10);
Enumeration e = v.elements();
while(e.hasMoreElements()) System.out.println(e.nextElement());
Run Code Online (Sandbox Code Playgroud)
使用原始类型会按预期生成结果(打印元素).但是,当我使用泛型类型的枚举器时,它会变得棘手.
使用String作为类型参数:
Vector v = new Vector();
v.add("Some String");
v.add(10);
Enumeration<String> e = v.elements();
while(e.hasMoreElements()) System.out.println(e.nextElement());
Run Code Online (Sandbox Code Playgroud)
输出:
一些字符串
线程"main"java.lang.ClassCastException中的异常:java.lang.Integer无法强制转换为java.lang.String
使用Integer作为类型参数:
Vector v = new Vector();
v.add("Some String");
v.add(10);
Enumeration<Integer> e = v.elements();
while(e.hasMoreElements()) System.out.println(e.nextElement());
Run Code Online (Sandbox Code Playgroud)
输出:
一些字符串
10
这里发生了什么?两个案例都不应该产生ClassCast异常吗?
我正在尝试使用内部的Haskell应用程序创建docker镜像.但是,我的Docker容器内的应用程序中网络中其他容器的主机名的域名解析失败(但我能够wget
/ ping
其他容器及其主机名正确解析).
为了找到根本原因,我尝试手动解析主机名(使用Network.DNS
包)并仅使用IP地址servant-client
.然而,这只会产生神秘的错误消息:
Network.BSD.getProtocolByName: does not exist (no such protocol name: udp)
我想我在Docker镜像中遗漏了一些包.我尝试过安装libc6-compat
但没有成功(libc6
来自Debian用于编译Haskell应用程序).而且/etc/protocols
包含正确的条目.码头图像中还缺少什么?
我用来运行应用程序的docker镜像是alpine:3.6
- 整个dockerfile,里面没有多少.这与用于构建应用程序的图像不同(它小约20倍).
我用来构建haskell应用程序的docker镜像基于debian:stretch
.Dockerfile.
这里提供了包含构建指令的整个源代码(可以跳过Angular部分):
https://github.com/carbolymer/blockchain/tree/0b041875f71b2a09dc8568ee7b0cc22460fd5624
我正在使用堆栈构建静态链接二进制文件,我尝试向其添加调试符号(以下:https://downloads.haskell.org/~ghc/master/users-guide/debug-info.html).然而GDB报道:no debugging symbols found
.
我错过了什么?
我已经加入到ghc-options
了在.cabal
文件:-g -rtsopts
和到ld-options
:-static
.我使用以下命令构建堆栈:
stack install \
--install-ghc \
--split-objs \
--ghc-options="-fPIC -fllvm -pgmlo opt -pgmlc llc"
Run Code Online (Sandbox Code Playgroud)
GDB调用如下: gdb --args nodebug-exe +RTS -V0
GHC 8.2.1
整个源代码在这里:https://github.com/carbolymer/haskell-missing-debug-symbols
我有以下实体:
@Entity
@Table(name = "ONE")
@SecondaryTable(name = "VIEW_TWO", pkJoinColumns = @PrimaryKeyJoinColumn(name="ONE_ID"))
public class CpBracket {
@Id
private Long id;
@Column(name="progress", table="VIEW_TWO", updatable = false, insertable = false)
private int progress = 0;
(...)
}
Run Code Online (Sandbox Code Playgroud)
如您所见,此实体使用表ONE和(只读)视图VIEW_TWO.当我持久化实体时,hibernate正在执行insert into view:
insert into VIEW_TWO (ONE_ID) values (?)
Run Code Online (Sandbox Code Playgroud)
它忽略了不可更新和不可插入的列进度(这很好),它仍然试图插入ONE_ID列的值.据我所知,注释@PrimaryKeyJoinColumn将所选列标记为insertable = false和updatable = false.
如何防止hibernate将行插入到辅助表(视图)中?