标签: java-7

Java Mac appbundle资源路径

从Oracle使用appbundler ant任务(http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html)我可以在创建工作Mac应用程序捆绑JRE7但一些装载本机库之类的资源失败,因为Info.plist接缝中的路径无效.

在我使用的build.xml ant任务中(例如,我的本机库被复制到app-bundle内的Contents/Java文件夹):

a) <option value="-Djava.library.path=Contents/Java/" />
b) <option value="-Djava.library.path=$JAVAROOT/" />
c) <option value="-Djava.library.path=$APP_PACKAGE/Contents/Java/" />
Run Code Online (Sandbox Code Playgroud)

所有结果都是UnsatisfiedLinkError.还找不到一些其他资源,如splash-image:

<option value="-splash:Contents/Java/my-splash.png" />
Run Code Online (Sandbox Code Playgroud)

知道如何在这里正确设置JVMOptions的路径吗?

编辑:Java7 appbundler使用不同于plist的语法,因为Apple的Jar Bundler与jdk6一起提供,例如,没有添加SplashFile的"Java"字典.

java ant macos java-7

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

此语言级别不支持文字中的下划线

我在使用下划线创建最终双精度时出现此错误,以使双精度更具可读性.它是在一种run()方法中宣布的.

public void run() {        
    final double nanoSeconds = 1_000_000_000.0 / 60.0;    
}
Run Code Online (Sandbox Code Playgroud)

我正在使用IntelliJ IDEA 12.

java literals java-7

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

y中的x在无法访问的类或接口中定义,ID在结构中

我到了,main.java: error: someId in someStruct is defined in an inaccessible class or interface但我怎么能解决这个问题呢?

我的主要课程:

import subdir.Subclass;  

public class main{  
  ...  
  Subclass.someArrayList.get(i).someString  
  ...  
}
Run Code Online (Sandbox Code Playgroud)

我的subdir.Subclass类:

package subdir;

public class Subclass{


  public static java.util.ArrayList<someStruct> someArrayList = new java.util.ArrayList<someStruct>(java.util.Arrays.asList(
    new someStruct(3, "string", "string"),
    new someStruct(4, "string", "string")
  ));

}



class someStruct
{
  public int someId;
  public String someString;
  public String someString2;
  public someStruct(int someId, String someString, String someString2) {
    this.someId = someId;
    this.someString = someString;
    this.someString2 = someString2;
  }
}
Run Code Online (Sandbox Code Playgroud)

java public access-specifier java-7

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

程序不编译.什么是错误

我试图在命令提示符中运行以下简单代码最近几个小时.仍然无法修复错误.

这里有什么问题.我找不到.

这是代码:

public static void main(String[] args) {
        int i;
        try {
            DataInputStream din = new DataInputStream(System.in);
            i = Integer.parseInt(din.readLine());
        }
        catch(NumberFormatException || IOException exception) {
            System.out.println(exception.getMessage());
        }
}
Run Code Online (Sandbox Code Playgroud)

exception-handling ioexception java-7 numberformatexception

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

java.lang.VerifyError:期望分支目标73处的堆栈图帧

我使用jdk 1.7,jekins,maven,当我构建项目时,单元测试失败,错误是:

java.lang.VerifyError:在分支目标处期望堆栈映射表73异常详细信息:Location:com/DataDictDao.save(Lcom/DataDict;)Ljava/lang/Long; @ 25:ldc原因:此位置的预期堆栈图帧.字节代码:0000000:033d 2:11最强音FF3E 1212 1100 25b8 0018 2ab4 0000010:0022 122D B900 3302 0012 1211 0027 B800 0000020:182A B400 352B B900 3A02 0012 1211 0028 0000030:B800 182A B400 2212 3cb9 0033 0200 1212 0000040:1100 2cb8 0018 A700 2D12 1211 0029 B800 0000050:183A 0412 1211 002A B800 182A B400 2212 0000060:3e19 04b9 0042 0300 1212 1100 2bb8 0018 0000070:1904 BF12 1211架002D B800 182B B600 48b8 0000080:004E B0异常处理程序表:BCI [25,62] =>处理程序: 73 Stackmap表:same_locals_1_stack_item_extended(@ 81,Object [#43])same_frame(@ 123)

at java.lang.Class.getDeclaredConstructors0(Native Method)at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493)at java.lang.Class.getDeclaredConstructors(Class.java:1901)at …

java verifyerror maven java-7

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

我应该为每行日志使用try-with-resources语句吗?

我想在每次发生事件时将(附加文本)记录到文件中.我发现这可能是使用Java 7的try-with-resources语句执行此操作的正确方法:

public void log(String textLine) {
    try(PrintWriter output = new PrintWriter(new BufferedWriter(new FileWriter("Logfile.txt", true)))) {
        output.println(textLine);
    }catch (IOException e) {
        //exception handling
    }
}
Run Code Online (Sandbox Code Playgroud)

我担心的是这个日志方法被频繁调用,输出被关闭并在每次调用此方法时重新打开,这是不必要的.与此同时,我希望受益于Java 7的try-with-resources语句功能.

我的担忧不是必要的,因为重新打开和关闭作家并不是一项昂贵的操作吗?或者我应该使用Java 6的老式方法,即手动处理异常并将输出声明为成员字段并在应用程序结束时手动关闭输出?

java writer java-7 try-with-resources

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

CollectionUtils.isNotEmpty()是否比null检查更好?

许多建议使用CollectionUtils.isNotEmpty(coll)而不是coll != null在下面的用例也。

if (CollectionUtils.isNotEmpty(coll)) {
    for (String str : coll) {
    }
}
Run Code Online (Sandbox Code Playgroud)

代替

if (coll != null) {
    for (String str : coll) {
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么理由/优势来CollectionUtils.isNotEmpty(coll)代替这里吗?谢谢。

java collections java-7 java-collections-api

4
推荐指数
3
解决办法
3万
查看次数

Java表达式

我试图在Java 7环境中理解这段代码,

int T = getIntVal();
while (T--> 0) {
 // do stuff here
}
Run Code Online (Sandbox Code Playgroud)

在while循环中不修改T. 有人可以解释这段代码吗?

java expression while-loop java-7

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

如何在Docker Container中安装/添加jdk 7

我在我的Ubuntu 14.04机器上创建了一个以Python为基础的docker镜像.我使用的Docker版本是1.12.3.用于图像的Python的基本操作系统是Debian.我还需要在我的docker镜像中使用JAVA 7(JDK 7).其中有很少的Python脚本,也很少有需要JDK的脚本.

我能够在我的图像中获得JDK 7,但是从过去的几天它就停止了工作.抛出oracle-jdk-7包不再可用的错误.然后我尝试从Dockerhub获取JDK 7 Dockerfile内容并在dockerfile中添加这些行.它工作了几次然后开始抛出空间不足的错误.

但是空间不是问题,因为'/ var'只占29%.以下是我的Dockerfile内容.

FROM python:2.7

ENV http_proxy http://http.proxy.abc.com:8000
ENV https_proxy http://http.proxy.abc.com:8000

RUN \
  apt-get update && \
  apt-get install -y openjdk-7-jdk && \
  rm -rf /var/lib/apt/lists/*

ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64

RUN pip install datetime && \
pip install pandas && \
pip install xlrd && \
pip install email && \
pip install Jinja2 && \
pip install bokeh==0.12.4
Run Code Online (Sandbox Code Playgroud)

我也试过跟随jdk 7:

RUN    echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee /etc/apt/sources.list.d/webupd8team-java.list && \
       echo "deb-src …
Run Code Online (Sandbox Code Playgroud)

python java java-7 docker

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

JDK 6和JDK8之间的Java Collection差异

我想知道java.util.collections的实现是否在Java 6和Java 8之间发生了变化.我有这个测试在Java 6中运行良好但在Java 8中没有

Set<String> types = new HashSet<String>();
String result;
types.add("BLA");
types.add("TEST");
Run Code Online (Sandbox Code Playgroud)

Java 6中的结果:[BLA,TEST] Java 8中的结果:[TEST,BLA]我已经查看了JDK 7和JDK 8的文档和发行说明,但没有发现JDK 6和两者之间有任何区别其他有关此事.提前感谢您的澄清.

jdk6 java-7 java-8

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