Articles of Java的

复制图像到剪贴板不能在Linux上工作(Java AWT和SWT)

我正在开发包含JFreeChart的Eclipse RCP应用程序。 其function之一是将graphics复制到剪贴板以便将其粘贴到其他应用程序中,但在Linux上不起作用, 有一个SWT示例 ,你可以find一个在Linux中不起作用的代码片段。 另一方面,JFreeChart在AWT上实现了这一点: Clipboard systemClipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); Insets insets = getInsets(); int w = getWidth() – insets.left – insets.right; int h = getHeight() – insets.top – insets.bottom; ChartTransferable selection = new ChartTransferable(this.chart, w, h, getMinimumDrawWidth(), getMinimumDrawHeight(), getMaximumDrawWidth(), getMaximumDrawHeight(), true); systemClipboard.setContents(selection, null); 这两个例子在Linux 64bit上都失败了。 有没有办法来实现它? 提前致谢! 编辑: 将JFreeChartgraphics复制到文件但不复制到剪贴板中的代码 final org.eclipse.swt.dnd.Clipboard clipboard = new […]

如何在Java中pipe理Linux文件权限

有没有任何机制来获取和设置文件/目录权限? 例如,我想以shell的方式显示一个文件的许可: -rwxr-xr– 有没有可能使用Java来做到这一点? 我知道File类中有一些方法可以知道文件canExecute , canRead和canWrite ,但是AFAIK这个信息仅适用于当前用户。 我需要知道整个八进制数,例如755,所以我需要从用户,组和其他人那里得到它。 我知道Java7带来Posix操作,但是如何使用更小的JRE来实现呢? 我不想使用像ls或chmod这样的命令。 提前致谢。

如何导出一个eclipse 4应用程序的多平台

如何导出一个eclipse 4应用程序,以便它可以在Windows或Linux ? 我发现产品configuration有所有平台的选项卡: 但是当我输出的时候,我在repository\binary看到了一个名为product_root.win32.win32.x86_64的产品,这个product_root.win32.win32.x86_64表明它是根据我的开发机器生成的,它是Windows 7/64bit 。 所以要导出应用程序在Linux中运行,导出必须在Linux机器上完成? 即我必须导入我的项目文件在运行在Linux中的eclipse,然后做出口? 更新1: 在@Bazbuild议之后,我安装了增量包。 但在出口时,我得到了以下错误: 我的设置是: 和 那么为什么我在导出期间得到错误? 更新2: 好。 必须将增量包添加为运行平台的一部分,而不是新的空目标。 现在出口确实出口多个平台。 试图Win / 32bit和Win / 64位。 当我尝试运行Win / 64位(这也是我的电脑的平台)一切都很好。 但是,当我尝试运行Win / 32位版本时,我得到错误, it can not find the jre 为什么我得到这个错误? 我应该捆绑jre吗? 为什么它为Win / 64位工作? 我没有设置JAVA_HOME

亚马逊linux – 安装openjdk-debuginfo?

我试图在amazon linux上使用ec2实例上的jstack 。 所以我安装了openjdk-devel软件包。 sudo yum install java-1.7.0-openjdk-devel.x86_64 但是jstack引发了exceptionjava.lang.reflect.InvocationTargetException 。 sudo -u tomcat jstack -J-d64 -m 941 谷歌会议15分钟后,我发现一些qna说安装openjdk-debuginfo软件包可能会有所帮助。 但是我怎样才能安装openjdk-debuginfo ? 这不是在yum search 。

如何构buildnetty-transport-native-epoll-4.0.32.Final-linux-x86_64.jar?

我在netty中使用本地epoll传输,并能够从存储库下载netty-transport-native-epoll-4.0.32.jar。 但是我也需要netty-transport-native-epoll-4.0.32.Final-linux-x86_64.jar,但是无法在任何地方find它。 请让我知道在哪里下载这个jar,或者如何构build它。

如何在java中获取当前目录?

我正在尝试从java获取我的项目的当前目录。 我正在使用下面的代码行来获取path的详细信息。 types1: File directory = new File ("."); try { System.out.println ("Current directory's canonical path: " + directory.getCanonicalPath()); System.out.println ("Current directory's absolute path: " + directory.getAbsolutePath()); }catch(Exception e) { System.out.println("Exceptione is ="+e.getMessage()); } types2: String currentDir = System.getProperty("user.dir"); System.out.println("Current dir using System:" +currentDir); 从主类执行上述代码时,我正在获取项目目录。 当我从服务器端执行,得到“当前目录使用系统:D:\ Apache Tomcat 6.0.16 \ bin”。 但是我的项目位于D:\Apache Tomcat 6.0.16\wepapps\SampleStructs 。 […]

Eclipse的JVM启动错误终止。 升级Ubuntu更新后退出代码= 13

我刚刚更新了Ubuntu,然后Eclipse崩溃了。 有谁知道一个解决scheme? 否则我必须重新安装这些东西。

是否有可能在Java中双叉进程?

我需要双叉vmware,所以它不会inheritanceterminalID(TTY / pts)。 这是我到目前为止,但我无法访问到runtime.exec进程fork到另一个进程(这将删除terminalID)。 Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec("vmware"); 有没有办法在Java中“守护进程”?

Java执行bash脚本,错误= 26文本文件忙

我有一个编写Linux bash脚本的java代码,然后做一个chmod来添加执行权限,然后尝试执行它。 我得到一个IOException在进程开始时说错误= 26,文本文件繁忙。 我已validation文件已完成写入和stream已closures。 chmod工作正常,但我不断收到这个错误。 我注意到,如果我运行一个debugging器,并通过代码,它没有得到错误,所以很明显,有一个时间问题。 在我尝试执行bash脚本之前,如何确保chmod已经完成? 我想避免非可靠的解决scheme,如添加Thread.sleep(10000),以及“hacky”的东西,如将try / catch块中的执行放入循环中,直到成功。 我有相当数量的代码包装进程的启动与侦听线程等,但这里是它正在做的简化版本(也试过这个代码,它有相同的结果): String[] cmd1 = {"/bin/chmod", "750", postFile }; new ProcessBuilder(cmd1).redirectErrorStream(true).start().waitFor(); String[] cmd2 = { postFile }; new ProcessBuilder(cmd2).redirectErrorStream(true).start().waitFor(); 每次执行后,“postFile”都有正确的750个权限,但是没有执行(由于IOException)。

在没有root权限的情况下在Linux上获得硬盘序列号

标题基本概括了所有内容。 对于我的Java程序,我想在Linux中获得硬盘序列号。 最初我打算使用命令行“hdparm -i / dev / sda”,但后来我意识到这需要root权限,这是我不希望我的程序必须要求的,所以现在我正在寻找替代。 理想情况下,我宁愿不使用JNI,但是我不认为这很重要,如果应用程序已经为我写了,并获得了BSD之类的许可… 虽然我在这里,我也将欣赏Mac的解决scheme – 再次,不需要根/pipe理员权限! 提前致谢