Articles of java 7

在linux下安装jdk 1.7时出错

当我在Oracle Linux中安装jdk 1.7时,使用以下命令 rpm -ivh jdk-7u9-linux-i586.rpm 但是我收到以下错误,我该如何解决这些错误并安装JDK 1.7? 任何帮助是非常可观的。 谢谢 rpm -ivh /tmp/mnt/jdk-7u9-linux-i586.rpm Preparing… ########################################### [100%] 1:jdk ########################################### [100%] Unpacking JAR files… rt.jar… Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/rt.pack jsse.jar… Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/jsse.pack charsets.jar… Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/charsets.pack tools.jar… Error: Could not open input file: /usr/java/jdk1.7.0_09/lib/tools.pack localedata.jar… […]

com.sun.tools.attach.AttachNotSupportedException:无法打开套接字文件:目标进程没有响应或HotSpot虚拟机未加载

在linux(ubuntu 64bit)上运行jmockittesting时,我得到AttachNotSupportedException 。 Java版本是1.7.0_51。 这个JDK来自Oracle。 testing使用ant运行(可能不相关) 查看堆栈跟踪。 [junit] [junit] java.lang.RuntimeException: com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded [junit] at mockit.internal.startup.JDK6AgentLoader.getVirtualMachineImplementationFromEmbeddedOnes(JDK6AgentLoader.java:89) [junit] at mockit.internal.startup.JDK6AgentLoader.loadAgent(JDK6AgentLoader.java:54) [junit] at mockit.internal.startup.AgentInitialization.initializeAccordingToJDKVersion(AgentInitialization.java:21) [junit] at mockit.internal.startup.Startup.initializeIfNeeded(Startup.java:136) [junit] at mockit.internal.startup.Startup.initializeIfPossible(Startup.java:169) [junit] at junit.framework.TestResult.<clinit>(TestResult.java:15) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:356) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1165) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1016) [junit] Caused by: […]

Java7的WatchService – 访问拒绝错误试图删除recursion观看的嵌套目录(仅限Windows)

我跟着看了更改目录 Java7 nio2教程recursion监视使用代码示例WatchDir.java目录的全部内容。 虽然在Linux和Mac上,在Windows上(在Vista和7上testing过),在Windows上尝试删除嵌套的监视文件夹失败,并显示类似于“访问被拒绝:您需要执行此操作的权限”存在于其中一个嵌套目录中。 例如,如果我在Windows中观看嵌套的文件夹树: — Folder A — Folder A1 — File F 并尝试删除文件夹A,我得到说拒绝访问错误。 但是,如果我: 删除文件夹A1,然后删除文件夹A. 删除文件F,然后删除文件夹A. 有没有办法使用nio2 WatchServicerecursion地观看一个嵌套的目录,但不能像一个程序访问嵌套文件一样行事?

指定的JRE安装不存在

我试图在我的eclipse indigo EE的tomcat 7上启动服务器 我得到以下错误: “'在本地主机启动Tomcat v7.0服务器'遇到了问题。 指定的JRE安装不存在“ 我检查了构buildpathconfiguration和我有的库部分 JDK7作为JRE系统库和当我检查“已安装的JRE …”正确 有path – “C:\ Program Files \ Java \ jdk1.7.0_01”。 还有什么可以做的? 非常感谢。 PS – 我也使用maven 3.0.3

为什么我不能closures从maven插件embedded的tomcat 7?

我正在使用tomcat7-maven-plugin 2.2从命令行运行一个webapp(我在Windows 8.1,Java 1.7.0_51和Maven 3.2.1上)。 这是configuration(很简单,我猜): <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <address>localhost</address> <port>8080</port> <path>/</path> <uriEncoding>UTF-8</uriEncoding> </configuration> </plugin> 我使用mvn tomcat7:run运行Maven mvn tomcat7:run并正确启动,服务器启动, mvn tomcat7:run应用程序加载,我可以与之交互。 我运行Maven的命令提示符正忙于显示Tomcat输出(对我来说这看起来很好): [INFO] Scanning for projects… [INFO] [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1 [INFO] [INFO] ———————————————————————— [INFO] Building <project-name-here> 0.3 [INFO] ———————————————————————— [INFO] [INFO] >>> tomcat7-maven-plugin:2.2:run (default-cli) @ […]

用于跟踪Java中文件更改的文件ID?

我试图find一种方法来跟踪文件,即使它们在文件系统中被移动或重命名。 我想到的一个想法是在Java 7中使用新的UserDefinedFileAttributeView,并创build一个自定义文件属性作为一种自定义ID。 我认为这可能适用于不同的平台(主要是Windows和Mac)。 但是我无法让它工作。 甚至尝试在这个页面上的例子 – http://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html – 当我到这一行: UserDefinedFileAttributeView view = Files.getFileAttributeView(file,UserDefinedFileAttributeView.class); 我只得到一个null值的视图variables,然后程序停止与一个空指针exception。 然后,我发现至less有一个可能更简单的方法来使用Mac:使用BasicFileAttributes fileKey属性。 我试过这个,即使我移动文件或重命名它,fileKey似乎也保持不变。 然而,它也说这个function是依赖于平台的,而且我记得在某个地方,它不能在Windows上工作。 所以首先,fileKey方法是在Mac上这样做的一个稳定的方法? 如果是这样,我可以做什么用于Windows相同的function? 任何人都知道为什么我在UserDefinedFileAttributeView上得到空值? 因为如果我能做到这一点,我猜应该是跨平台的。 这不是需要超级健壮和可伸缩的东西,它只是我正在开发的一个小型帮助器应用程序,但是在移动或重命名文件时至less需要可靠的识别文件。

无法安装JDK 7

我可以安装JRE 7没有任何问题。 但是,当我尝试安装JDK 7时,没有任何反应。 我目前正在运行Win7 64位。 当我双击下载的文件时,会popup一个对话框询问我是否要运行该应用程序,然后单击“运行”,然后什么都不会发生。 我甚至没有收到错误信息。 JDK 6安装就好了。 我试图卸载所有版本的Java,并安装JDK 7,但同样的事情发生。 我甚至在另一台电脑上安装了JDK 7,然后使用该文件尝试安装在我的笔记本电脑上,但同样的事情发生。 有任何想法吗?

Windows上的Java WatchService在复制内容之前通知文件夹的创build

我试图使用Java 7和WatchService来监视何时将文件夹添加到文件夹(通过从不同的位置复制),然后我想要对新创build的文件夹中的文件进行操作。 在OSX上,它正常工作,我没有收到新的文件夹创build通知,直到该文件夹​​及其内容已被复制。 但是,在Windows上,我收到文件夹创build之前的关键事件,因为当我尝试处理文件夹中的文件时,通常只有第一个文件在那里。 我目前的解决方法是收到文件夹通知我睡了10秒,等待文件内复制,但这不是很令人满意,因为文件夹的大小可以有很大的不同,所以我要睡觉不够长或太长大多数时候。 为什么OSX和Windows之间的区别,以及如何解决我在Windows上的问题?

在代码中复制鼠标行为

这与问题: JDK7和本地组件的焦点问题有关。 在处理变通方法时,我们注意到,如果我们单击窗口上的另一个组件(即显示图片的标签),然后单击文本字段(在Flash应用程序中),一切似乎都正常工作。 所以我一直试图从代码重现,但没有成功。 基本上,当检测到鼠标hover在文本框上时,我会收到来自Flash程序的通知,并要求将注意力集中在标签上,所以当用户点击实际字段时,标签已经有了焦点。 我要求重点如下: draggableComponent.requestFocus(); 其中draggableComponent是我一直在谈论的标签。 我想这不等于点击标签。 我错过了什么?

Java线程优先级不起作用

这是一个关于线程优先级的testing。 代码来自Thinking in Java p.809 import java.util.concurrent.*; public class SimplePriorities implements Runnable { private int countDown = 5; private volatile double d; // No optimization private int priority; public SimplePriorities(int priority) { this.priority = priority; } public String toString() { return Thread.currentThread() + ": " + countDown; } public void run() { Thread.currentThread().setPriority(priority); while (true) […]