Articles of Java的

收集Linux命令输出

我现在在一台linux机器上。 我有一个Java程序,可以运行一些Linux命令,例如ps , top , list或free -m 。 在Java中运行命令的方式如下所示: Process p = Runtime.getRuntime().exec("free -m"); 我怎么能通过Java程序收集输出? 我需要处理输出中的数据。

是否有任何Java库来操作像http.conf的Unixconfiguration文件

有非常好的Perl库(例如Apache :: Admin :: Config )来操作传统的Unixconfiguration文件,如httpd.conf。 任何人都知道有没有好的Java库来做类似的任务? 我知道有一个叫做Augeas和Java绑定的ac库。 有没有人使用过? 谢谢!

无法运行程序“mvn”错误= 2,没有这样的文件或目录

我正在做我的Ubuntu 14.04 LTS,但我得到以下几点: Started by user anonymous Building in workspace /var/lib/jenkins/workspace/videovixx > /usr/bin/git rev-parse –is-inside-work-tree # timeout=10 Fetching changes from the remote Git repository > /usr/bin/git config remote.origin.url https://bitbucket.org/mdennis10/videovixx.git # timeout=10 Fetching upstream changes from https://bitbucket.org/mdennis10/videovixx.git > /usr/bin/git –version # timeout=10 using .gitcredentials to set credentials > /usr/bin/git config –local credential.helper store — file=/tmp/git6236060328558794078.credentials # […]

Linux上的JDK 1.8缺lessJNI包含文件

我正在编译下面的项目: https://github.com/entropia/libsocket-can-java 我总是得到这个错误信息? 有谁知道如何解决这个问题,是否可能是Linux上的JDK 1.8.0.11(x64 Debian Wheezy)中的错误? In file included from jni/de_entropia_can_CanSocket.h:2:0, from jni/cansocket.cpp:23: /opt/jdk1.8.0_11/include/jni.h:45:20: fatal error: jni_md.h: No such file or directory #include "jni_md.h" ^

用Java来强制虚惊一场

这个问题不是关于虚假的唤醒是否真的很开心,因为这已经在这里全面讨论了: 虚假的唤醒是否真的发生? 因此,这也不是关于,为什么我必须围绕我的wait声明。 这是关于什么的: 我想构build一个虚构的唤醒事件。 我在上面提到的问题中学到的是: 如果一个Linux进程发出信号,它的等待线程将每个都享受一个很好的,热的虚假唤醒。 所以看来,这只会工作在一台Linux机器,实际上我有Ubuntu 11.04 – 64位。 我已经写了一个Java程序,其中有一个线程正在等待一个条件,但是没有循环,而另一个线程正在等待并由另一个线程得到通知。 我认为在一个JVM中启动所有三个线程将强制上述情况,但似乎并非如此。 有没有人有另一个想法如何在Java中构build这样的情况?

我怎样才能诊断我们的Java IP多点传送应用程序?

出于某种原因,我运行的每个组播例子(计算机运行OpenSUSE Linux)都可以工作。 客户都静静地坐着。 如何找出为什么组播被阻止/忽略? 一些例子: 例1 http://www.roseindia.net/java/example/java/net/udp/UDPMulticastServer.java 例2 http://docs.oracle.com/javase/tutorial/networking/datagrams/broadcasting.html (使用这些文件:) http://docs.oracle.com/javase/tutorial/networking/datagrams/examples/MulticastServer.java http://docs.oracle.com/javase/tutorial/networking/datagrams/examples/MulticastServerThread.java http://docs.oracle.com/javase/tutorial/networking/datagrams/examples/MulticastClient.java http:// docs.oracle.com/javase/tutorial/networking/datagrams/examples/one-liners.txt

用命令参数启动本地terminal(Java)

我有一个看似微不足道的问题:我想从一个java进程启动一个terminal,给terminal一个或两个命令。 我有一个简单的示例代码,可以在Windows上使用CMD完美地工作。 但是我还没有能够在Linux和Mac OS上实现同样的行为。 我知道,该命令需要改变,但不幸的是,我一直无法将一串parameter passing给Mac上的terminal。 这里是Windows的工作代码: import java.lang.ProcessBuilder.Redirect; public class ExecTest { public static void main(String[] args){ String cmd = "cmd /c start cmd.exe /K \"echo hello && echo bye\""; try { Process p = Runtime.getRuntime().exec(cmd); p.waitFor(); } catch (Exception e) { e.printStackTrace(); } } } 在lubuntu上,我已经能够使用这个命令创build一个terminal: lxterminal -l -e 'echo hello && echo […]

以用户身份连接,并通过JDBC在Postgresql 8.4上设置无密码

我试图通过JDBC驱动程序连接到Ubuntu 10.10中的PostgreSQL 8.4数据库。 我通过jdbc:postgresql:localhost:5433/dbname因为PostgreSQL在非默认端口5433上运行,所以我必须指定端口。 我已经编辑了我的postgresql.conf来设置listen_addresses = "*" 。 我明白,即使它是本地主机,它仍然使用TCP / IP通过JDBC连接。 我的问题是我创build了一个没有密码的用户。 如果我没有使用DriverManager.connect(url)指定密码,则表示需要指定密码进行身份validation。 我尝试的每个密码(包括空string)都无法通过数据库进行身份validation。 我怎么连接? 编辑:如果通过错误的端口连接,错误是:PSQLException:连接被拒绝。 检查主机名和端口是否正确,并且postmaster正在接受TCP / IP连接。 当试图连接正确的端口时,我得到PSQLException:致命:用户“用户”的密码身份validation失败。 这是通过下面接受的答案补救。

打开一个shell并在java中与其I / O进行交互

我想打开一个shell(xterm)并与之交互(写入命令并读取shell的输出) 这是一个不能工作的代码示例: public static void main(String[] args) throws IOException { Process pr = new ProcessBuilder("xterm").start(); PrintWriter pw = new PrintWriter(pr.getOutputStream()); pw.println("ls"); pw.flush(); InputStreamReader in = new InputStreamReader(pr.getInputStream()); System.out.println(in.read()); } 当我执行这个程序时,打开一个“xterm”窗口并且不input“ls”命令。 只有当我closures窗口,我得到一个“-1”打印,没有任何东西从shell读取 重要- 我知道我可以使用: Process pr = new ProcessBuilder(“ls”)。start(); 要获得输出,但我需要打开其他用途的“xterm” 非常感谢

在点阵式打印机上的Linux的Java打印质量

我需要将报告从Java桌面应用程序打印到点阵打印机(Epson LX-300 II)。 报告由一些graphics组成。 打印机通过USB连接,我正在使用CUPS进行打印。 我使用Printable接口进行打印(在Java中是非常标准的)。 我的问题: 每台打印机的分辨率(60×60,120×60,120×72)都使文本打印质量非常低。 在某些打印机驱动程序中似乎没有任何字体暗示。 信件看起来非常丑陋。 我不能使用直接的文本输出(它看起来不错),因为我也需要在同一页上打印graphics。 似乎问题不在于Java,导致同一应用程序在Windows中打印高质量的文本和graphics。 此外,似乎问题不在CUPS系统中,导致OpenOffice或Abiword以相同的字体打印具有相同字体的相同文本,质量非常好(比在Windows中还差,但仍然不错)。 另外问题不在于字体:我尝试从Windows的Tahoma字体,它也是这样做的:低质量,而在java / linux打印。 在X.Org中,BCI提示并不是问题,屏幕上显示的很好看。 当我将任何文档从OpenOffice导出为PDF并打印PDF时,我得到了相同的效果 – 纸上的丑陋的未暗示的字体。 如果从Office打印相同的文件,一切正常。 我尝试了不同的Linux(KUbuntu 10.04,Puppy 2,Puppy 4.3.1),并且在任何Linux上都有同样的效果。 也许问题出在Ghostscript上,我在Puppy上得到了9.x版本,而且依然如此。 或者我也认为CUPS光栅化器('rastertoepson'或'foomatic-rip')可能存在问题。 这是输出的例子(抱歉的“移动” – 质量的照片): 我只是不知道发生了什么,请帮助我。 – PS我最后的解决scheme是使用“ESCPrinter.java”开放源代码类,并增加了根据Epson文档打印图像的function。