小编onl*_*one的帖子

我怎样才能让eclipse在一段时间之后而不是之前换行

我看了整个Preferences - > Java - > Code Style - > Formatter,找不到任何方法让eclipse格式化我的代码,如:

something.
    someMethod().
    anotherMethod().
    lastMethod();
Run Code Online (Sandbox Code Playgroud)

代替:

something
    .someMethod()
    .anotherMethod()
    .lastMethod();
Run Code Online (Sandbox Code Playgroud)

我知道这是非标准的,但这就是我的需要.

编辑:这不是要包装线.它特别关于与期间相关的包裹发生的位置.我希望句号在行尾,在换行符之前,现在eclipse想要在下一行开头的句号.

编辑2:即使我能找到eclipse的源代码在哪里决定包装线的位置,这可能会有所帮助.我认为这可能是在JDT项目中,但我不是100%而且那里有很多.

java eclipse formatter word-wrap

23
推荐指数
1
解决办法
2165
查看次数

如何在管道输入时让java退出

我有一个java进程打印出很多文本.有时我只是想看一些文字.使用普通程序,我可以这样做:

$ myprog | head
Run Code Online (Sandbox Code Playgroud)

我只会看到myprog的10行输出,它会立即退出.但是对于java,如果我这样做:

$ java MyClass | head
Run Code Online (Sandbox Code Playgroud)

我获得了前10行输出,但java进程在完成所有处理之前不会退出.这就像java并不关心stdout(System.out)已经消失,而且头部进程已经死了.

所有其他程序要么像猫一样默默地退出:

$ cat /etc/group | head
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
Run Code Online (Sandbox Code Playgroud)

或者退出管道错误/异常,如python:

$ python -c 'while True: print "hi"' | head
hi
hi
hi
hi
hi
hi
hi
hi
hi
hi
Traceback (most recent call last):
  File "<string>", line 1, in <module>
IOError: [Errno 32] Broken pipe
Run Code Online (Sandbox Code Playgroud)

当我将输出管道输出到像head这样的东西时,如何在调用System.out.println()时让java引发异常?我希望能够做到这样的事情:

try {
    while(true) {
        System.out.println("hi");
    }
} catch(BrokenPipeException e) {
    // exit gracefully
}
Run Code Online (Sandbox Code Playgroud)

java exception pipe unix-head

17
推荐指数
2
解决办法
689
查看次数

使用setup.py和wheels安装软件包依赖项

我们正在使用一个内部托管的PyPI服务器(devpi-server),以便我们可以托管大型软件包的二进制轮子,这些软件包需要很长时间才能从scipy,matplotlib等源代码安装.安装这些软件包时,pip install scipy工作完美,绝对使用我们的轮子创造了.但是,使用任何内部开发的python包,这些包依赖于其中一个包并运行会python setup.py install|develop|test|whatever导致以下错误:

No local packages or download links found for scipy
Traceback (most recent call last):
  File "setup.py", line 136, in <module>
    'develop': DevelopCommand
  File "/usr/local/lib/python2.7/distutils/core.py", line 112, in setup
    _setup_distribution = dist = klass(attrs)
  File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/setuptools/dist.py", line 239, in __init__
    self.fetch_build_eggs(attrs.pop('setup_requires'))
  File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/setuptools/dist.py", line 263, in fetch_build_eggs
    parse_requirements(requires), installer=self.fetch_build_egg
  File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/pkg_resources.py", line 564, in resolve
    dist = best[req.key] = env.best_match(req, self, installer)
  File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/pkg_resources.py", line 802, in best_match
    return self.obtain(req, …
Run Code Online (Sandbox Code Playgroud)

python pypi devpi python-wheel

10
推荐指数
1
解决办法
2566
查看次数

为什么netcat无法接收第二个广播消息?

在试验广播消息时(在Windows 7笔记本电脑上的VirtualBox 5.0.14上运行的Debian 8.3 VM上),我发现netcat(nc)只接收第一个广播消息.它不接收第二个广播消息.

程式

这是客户端程序.

// client.c
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netdb.h>

int main()
{
    int sockfd;
    int ret;
    char buffer[1024];
    ssize_t bytes;
    int yes = 1;
    struct addrinfo hints, *ai, *aii;

    memset(&hints, 0, sizeof hints);
    hints.ai_family = AF_INET;
    hints.ai_socktype = SOCK_DGRAM;

    if ((ret = getaddrinfo("255.255.255.255", "9090", &hints, &ai)) == -1) {
        fprintf(stderr, "client: getaddrinfo() error: %s\n", gai_strerror(ret));
        return EXIT_FAILURE;
    }

    for (aii = ai; …
Run Code Online (Sandbox Code Playgroud)

c sockets datagram broadcast netcat

10
推荐指数
1
解决办法
603
查看次数

为什么hadoop不能拆分大文本文件,然后使用gzip压缩拆分?

我最近一直在研究hadoop和HDFS.将文件加载到HDFS时,它通常会将文件拆分为64MB块,并在群集周围分发这些块.除非gzip文件无法执行此操作,因为无法拆分gzip文件.我完全理解为什么会这样(我不需要任何人解释为什么gzip文件不能拆分).但是为什么HDFS不能将纯文本文件作为输入并像普通文件一样拆分,然后分别使用gzip压缩每个拆分?访问任何拆分时,它只是在运行中解压缩.

在我的方案中,每个拆分都是完全独立压缩的.拆分之间没有依赖关系,因此您不需要整个原始文件来解压缩任何一个拆分.这是该补丁采用的方法:https://issues.apache.org/jira/browse/HADOOP-7076,请注意,这不是我想要的.

这似乎很基本......我错过了什么?为什么不能这样做?或者如果可以做到,为什么hadoop开发人员不会忽视这条路线?考虑到我发现有多少人想要在HDFS中分割gzip文件,这似乎很奇怪.

compression gzip hadoop hdfs

7
推荐指数
1
解决办法
4927
查看次数

为什么 bash 子 shell 中的 EXIT 陷阱并不总是被调用?

我在 bash 和子EXITshell 内发现了一些奇怪的行为。我希望以下四行都输出相同的内容(“嗨被困”):

a=$(trap 'echo trapped' EXIT ; echo hi); echo $a
a=$(trap 'echo trapped' EXIT && echo hi); echo $a
a=$(trap 'echo trapped' EXIT ; /bin/echo hi); echo $a
a=$(trap 'echo trapped' EXIT && /bin/echo hi); echo $a
Run Code Online (Sandbox Code Playgroud)

前三个确实打印了“hi trap”,但最后一个不是。它只是输出“hi”。陷阱没有被调用。您可以通过以下方式验证这一点set -x

set -x; a=$(trap 'echo trapped' EXIT ; echo hi); set +x; echo $a
set -x; a=$(trap 'echo trapped' EXIT && echo hi); set +x; echo $a
set -x; a=$(trap 'echo trapped' EXIT ; …
Run Code Online (Sandbox Code Playgroud)

bash shell rvm

5
推荐指数
1
解决办法
2107
查看次数