小编dan*_*yar的帖子

如何在必要时自动为所有项目Java类添加@Override,@ Deprecate和static修饰符?

我需要在必要时自动插入@Override/ @Deprecated注释和静态修饰符,以便在Eclipse IDE中打开具体项目的所有Java文件.

Eclipse具有很强的插入@Override/ @Deprecate注释功能,并且可以在Java文件save(Preferences -> Java -> Editor -> Save actions -> Additional actions)上添加静态修饰符.但Eclipse只能在编辑的java文件中应用这些操作,并且仅在保存时才应用.

当然,我可以使用Eclipse作为编辑器在每个文件中插入一个选项卡或空格,并保存它以在保存操作时激活Eclipse重构工具,但是我有一个非常大的代码要处理,所以这非常讨厌.

也许有一个Eclipse插件支持这种类型的代码重构?

如果没有解决方案,我会尝试为此编写自己的Eclipse RCP插件.

eclipse eclipse-plugin eclipse-rcp

9
推荐指数
1
解决办法
3933
查看次数

加载带有Windows行结尾的CSV文件时,Oracle Sql Loader"ORA-01722:无效编号"

我正在使用Linux shell中的Oracle Sql Loader Utility将csv数据加载到Oracle DB中.但我注意到,如果源csv文件行结尾为'\ r \n'(Windows格式),则sqlldr无法加载最后一列的数据.

例如,如果最后一列是FLOAT类型(在ctl文件中定义为'FLOAT EXTERNAL'),sqlldr将失败并显示'ORA-01722:无效数字':

Sqlldr ctl文件:

OPTIONS(silent=(HEADER))
load data
 replace
 into table fp_basic_bd
 fields terminated by "|" optionally enclosed by '"'
 TRAILING NULLCOLS
 (
 FS_PERM_SEC_ID CHAR(20),
 "DATE" DATE "YYYY-MM-DD", 
 ADJDATE DATE "YYYY-MM-DD", 
 CURRENCY CHAR(3),
 P_PRICE FLOAT EXTERNAL,
 P_PRICE_OPEN FLOAT EXTERNAL,
 P_PRICE_HIGH FLOAT EXTERNAL,
 P_PRICE_LOW FLOAT EXTERNAL,
 P_VOLUME FLOAT EXTERNAL
 )
Run Code Online (Sandbox Code Playgroud)

sqlldr执行命令:

sqlldr -userid XXX -data ./test.data -log ./test.log -bad ./test.errors -control test.ctl -errors 3 -skip_unusable_indexes -skip_index_maintenance
Run Code Online (Sandbox Code Playgroud)

sqlldr错误日志:

   Column Name                  Position   Len  Term Encl Datatype …
Run Code Online (Sandbox Code Playgroud)

oracle sql-loader

7
推荐指数
2
解决办法
2万
查看次数

Kubernetes:mount:附加AWS EBS卷时不存在特殊设备

亲爱的Kubernetes大师!

我使用'contrib'Ansible playbook(https://github.com/kubernetes/contrib/tree/master/ansible)在手动创建的AWS主机上创建了kube 1.4.1集群.

我的问题是Kube没有将EBS驱动器连接到minion主机.如果我定义pod如下:

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata:
  name: kafka1
spec:
  replicas: 1
  template:
    spec:
      containers:
      - name: kafka1
        image: daniilyar/kafka
        ports:
        - containerPort: 9092 
          name: clientconnct
          protocol: TCP
        volumeMounts:
        - mountPath: /kafka
          name: storage
      volumes:
      - name: storage
        awsElasticBlockStore:
          volumeID: vol-56676d83
          fsType: ext4
Run Code Online (Sandbox Code Playgroud)

我在kubelet.log中收到以下错误:

Mounting arguments: /var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/vol-56676d83 /var/lib/kubelet/pods/db213783-9477-11e6-8aa9-12f3d1cdf81a/volumes/kubernetes.io~aws-ebs/storage  [bind]
Output: mount: special device /var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/vol-56676d83 does not exist
Run Code Online (Sandbox Code Playgroud)

在此期间,EBS卷保持"可用"状态,因此我确信Kube 根本不会将附加到主机,因此不会挂载它.我100%确定这是一个Kubernetes本身的问题,而不是许可问题,因为我可以从这个minion手动安装相同的卷到这个minion就好了:

$ aws ec2 --region us-east-1 attach-volume --volume-id vol-56676d83 --instance-id $(wget -q …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-ebs amazon-web-services kubernetes

4
推荐指数
1
解决办法
1711
查看次数

当连接三元运算符的2个结果时,字符串连接在Java中无法正常工作

亲爱的Java大师!

请你解释一下,为什么串联连接在连接三元运算符的2个结果时在Java中无法正常工作?

例:

String str = null;
String x = str != null ? "A" : "B" + str == null ? "C" : "D";
System.out.println(x);
Run Code Online (Sandbox Code Playgroud)

输出为"D",但我期望"BC".

由于操作员的优先考虑,我怀疑它是这样的,但我不确定,关于我们如何在上面的案例中得到"D".这种情况下会采用什么计算算法?

java ternary operator-keyword

3
推荐指数
1
解决办法
1090
查看次数