标签: java-7

在Windows 7 + Java 7下破坏了Eclipse CVS

我正在运行Windows 7 64位.在我以前使用Java 6安装Java 7(PS3媒体服务器的一部分)之后,我的Eclipse(Indigo Service Release 2,Build id:20120216-1857)CVS停止工作到VPN上的服务器.我使用Cisco AnyConnect VPN客户端版本2.5.2019进行连接.每当我尝试连接到存储库时,我得到的错误如下:

Could not connect to :extssh:username@example.com:/cvsroot/username/project: CVS communication error:   org.eclipse.team.internal.ccvs.ssh2.CVSSSH2ServerConnection$SSH2IOException: Permission  denied: connect
Permission denied: connect
Run Code Online (Sandbox Code Playgroud)

我可以通过强制Eclipse在Java 6 JVM下运行来解决它.这不是防火墙问题,因为我关闭了Windows防火墙,并且Wireshark也没有显示DNS查询之外的流量.

我的JRE(Java 6和Java 7)都是32位版本; 他们的路径分别是

C:\Program Files (x86)\Java\jre6
C:\Program Files (x86)\Java\jre7
Run Code Online (Sandbox Code Playgroud)

eclipse cvs ssh vpn java-7

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

什么时候/我可以将JDK 7用于CloudBees Run @ cloud吗?

希望能够将JDK 7与CloudBees Run @ cloud一起使用.CloudBees Jenkins已经支持JDK 7.

不要认为现在可能,想要ETA ......?

java-7 cloudbees

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

JDK 7中的JnlpDownloadServlet在哪里?

根据Oracle的在线文档,JnlpDownloadServlet仍然是Java 7的一部分:http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/downloadservletguide.html

但我刚刚安装了JDK 1.7.0,jnlp-servlet.jar和jardiff.jar都没有出现在我家的任何地方,至少在Windows上.我在目录中的每个jar上搜索(使用优秀的ack命令行实用程序),但它们都不包含JnlpDownloadServlet.

java jnlp java-7

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

自升级到Java 7以来,Javadoc格式化已损坏

从将项目升级到Java 7后,生成的文档现在已经破坏了格式.

如何解决这个问题?

java javadoc java-7

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

java.nio.file.FileAlreadyExistsException如何在java7中解决这个问题

我正在编写一个代码我用java nio api创建一个目录,我的代码片段是

   Path target = Paths.get(""+folder_path+xx[0]);
    Set<PosixFilePermission> perms = null;
    if(xx[2].toLowerCase().equals("read"))
     perms =PosixFilePermissions.fromString("r--------");
    if(xx[2].toLowerCase().equals("read/write"))
    {
       perms =PosixFilePermissions.fromString("rw-------");
    }
    FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(perms);

    Files.createDirectory(target, attr);
Run Code Online (Sandbox Code Playgroud)

但这是一个错误

java.nio.file.FileAlreadyExistsException: /home/ritesh/Desktop/userA

我知道的原因是因为一个目录已经具有相同的名称,但我想用我的代码目录生成的目录覆盖userA目录如何完成这个?

java nio java-io java-7

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

Java 7 - String.intern()行为

我已经阅读了关于如何检查字符串是否在Java中实现的答案,但我不理解以下结果:

String x = args[0]; // args[0] = "abc";
String a = "a";
String y = a + "bc";
System.out.println(y.intern() == y); // true
Run Code Online (Sandbox Code Playgroud)

但是如果我声明一个字符串文字:

String x = "abc";
String a = "a";
String y = a + "bc";
System.out.println(y.intern() == y); // false
Run Code Online (Sandbox Code Playgroud)

此外,没有任何字符串文字,args[0]似乎直接实习:

// String x = "abc";
String y = args[0];
System.out.println(y.intern() == y); // true (???)
// false if the first line is uncommented
Run Code Online (Sandbox Code Playgroud)

为什么y.intern() == y更改取决于是否x是文字,即使是在使用命令行参数时的示例?

我知道 …

java string pool java-7

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

StandardOpenOption.SPARSE的用途是什么?

Java 7 定义了该选项,但我仍然无法理解它的用处。

public static void main(final String... args)
    throws IOException
{
    final long offset = 1L << 31;
    final RandomAccessFile f = new RandomAccessFile("/tmp/foo", "rw");
    f.seek(offset);
    f.writeInt(2);
    f.close();
}
Run Code Online (Sandbox Code Playgroud)

当我查询文件“ shell wise”时,我得到了预期的结果:

$ cd /tmp
$ stat --format %s foo
2147483652
$ du --block-size=1 foo
4096    foo
Run Code Online (Sandbox Code Playgroud)

也就是说,inode真实地声明该文件的大小接近2 GB,但是由于基础fs的块大小为4k,因此其磁盘使用情况实际上是一个块。好。

但是我不需要Java 7 StandardOpenOption.SPARSE。实际上,如果我使用Java 7 JVM运行此完全相同的代码,则结果不会改变。

现在,转到一些仅Java 7的代码:

public static void main(final String... args)
    throws IOException
{
    final ByteBuffer buf = ByteBuffer.allocate(4).putInt(2);
    buf.rewind();

    final OpenOption[] options = {
        StandardOpenOption.WRITE, …
Run Code Online (Sandbox Code Playgroud)

java filesystems file-io java-7

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

如何完全限定包名与本地成员名冲突的类?

好的,这里是JLS专家的一个非常好奇的Java 7语言谜题.以下代码不能用javac和Eclipse编译:

package com.example;

public class X {
    public static X com = new X();

    public void x() {
        System.out.println(com.example.X.com);
        // cannot find symbol  ^^^^^^^
    }
}
Run Code Online (Sandbox Code Playgroud)

似乎成员com完全阻止com.*从内部访问包X.然而,这并未得到彻底应用.以下工作,例如:

public void x() {
    System.out.println(com.example.X.class);
}
Run Code Online (Sandbox Code Playgroud)

我的问题:

  • 这种行为如何从JLS中证明是正确的?
  • 我该如何解决这个问题

注意,这只是对生成代码中的实际问题的简化,其中com.example.X需要完全限定并且com不能重命名成员.

更新:我认为它实际上可能是类似这样的问题:为什么我不能在Java中"静态导入"一个"等于"方法?

java visibility jls java-7

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

执行O(1)登录列表

我有一个函数,它选择a的随机元素List并返回它.列表可以并且非常长(数百万个元素),并且此函数每秒被调用数千次,因此效率很重要.

我目前的实现如下:

MyClass getRandomElement(List<MyClass> myClasses) {
  return myClasses.get(getRandomNumber(myClasses.size()));
}
Run Code Online (Sandbox Code Playgroud)

此解决方案存在两个问题.

  1. List.get不保证可以参加比赛O(1).LinkedList例如,实现它O(n).
  2. size不保证O(1)在所有List实现中运行.

第二点不是很有说服力,因为我所知道的所有实现都实现了它O(1).第一点是有问题的.

是否有任何方法可以保证(不是编译/运行时异常)实现O(1).我想把界面改为:

MyClass getRandomElement(ArrayList<MyClass> myClasses)
Run Code Online (Sandbox Code Playgroud)

这太严格了.我希望用户能够使用一个调用此函数ImmutableList.它甚至被推荐.

我可以声明该值是ArrayList或的实例ImmutableList.这将排除任何其他O(1)实现,但我可以忍受它.然而,它是运行时实施而不是编译时执行.我不确定这项检查的运行时开销是多少.

这是最好的做法吗?

java collections java-7

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

我怎么能用JDK 1.7运行jersey 2.26?

我在我的应用程序中使用JDK1.7.

我升级了球衣2.26,现在我收到了错误:

??: Servlet [Jersey Web Application] in web application [/spcsis-1.0] threw load() exception
java.lang.UnsupportedClassVersionError: org/glassfish/jersey/servlet/ServletContainer : Unsupported major.minor version 52.0 (unable to load class org.glassfish.jersey.servlet.ServletContainer)
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:3129)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:1341)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1827)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1701)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:504)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:486)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:113)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1146)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1085)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5318)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5610)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Run Code Online (Sandbox Code Playgroud)

我已经将jdk更改为1.8,然后它可以工作,但我必须使用jdk1.7作为我的项目.

有人可以帮我做吗?

java jersey java-7 jersey-2.0

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

标签 统计

java-7 ×10

java ×8

cloudbees ×1

collections ×1

cvs ×1

eclipse ×1

file-io ×1

filesystems ×1

java-io ×1

javadoc ×1

jersey ×1

jersey-2.0 ×1

jls ×1

jnlp ×1

nio ×1

pool ×1

ssh ×1

string ×1

visibility ×1

vpn ×1