标签: java-7

Eclipse和JDK 7

我想知道是否有人在使用Eclipse编译JDK 7代码时遇到问题?因为目前我只能在Eclipse中使用JRE 7来测试运行,但至于尝试在我的代码中使用JDK 7功能,它会说它不支持.

java eclipse java-7

5
推荐指数
1
解决办法
4975
查看次数

向maven exec添加一个jar:java classpath

我有一个批处理文件,它使用maven运行java类,它依赖于tools.jar(来自JDK).
例如:
MVN -f \的pom.xml -e EXEC:java的-Dfile.encoding = "UTF-8" -Dexec.mainClass = MyClass的-Dexec.args ="%1%2%3%4%5%6 %7%8%9"-Dexec.classpathScope = runtime
我的程序使用JDK中的tools.jar,我在maven中添加了一个指向它的系统依赖项.
由于exec:java目标不包含系统依赖项,我想手动从命令行添加依赖项.
虽然我预计它是微不足道的,但我可以找到办法.任何帮助将不胜感激.
谢谢,
Avner

java maven java-7

5
推荐指数
1
解决办法
8456
查看次数

Java 7中"非不透明值"的含义是什么?

Java 7 AttributeView将允许您创建和更新与文件系统中的对象关联的非不透明值.那是什么意思?

java-7

5
推荐指数
1
解决办法
357
查看次数

如何在命令行中接受jdk的许可协议?

我尝试将jdk7(Linux x64 rpm)安装到我的Amazon EC2实例上.我用wget和curl -o这样做但是没有成功下载.相反,它下载了一个错误的html文件,其中它告诉在下载之前接受许可协议.我使用此链接http://www.oracle.com/technetwork/java/javase/downloads/jdk7u7-downloads-1836413.html接受协议,之后我右键单击包并复制链接并尝试通过下载命令行,但它没有用.我将它下载到我的本地计算机并使用scp将其移动到EC2中的本地目录.但是当我尝试执行它时,它抛出了这些错误:

sudo rpm -i jdk-7u7-linux-x64.rpm
Unpacking JAR files...
rt.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/rt.pack
jsse.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/jsse.pack
charsets.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/charsets.pack
tools.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/lib/tools.pack
localedata.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/ext/localedata.pack
Run Code Online (Sandbox Code Playgroud)

我搜索了一个解决方案并遇到了这个链接:http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html

即使它说:"1.下载文件.在下载文件之前,您必须接受许可协议." 有没有办法通过命令行接受许可?

谢谢!

我不认为这个问题是由接受许可协议(即下载)的问题引起的,我认为这与一个有缺陷的rpm包有关.发布这个rpm -i install,java工作吗?你能导航到/usr/java/jdk1.7.0_07/jre/bin并运行java吗?

linux wget amazon-ec2 java-7

5
推荐指数
2
解决办法
1万
查看次数

JavaFX exe捆绑x86 windows系统


通常我将Java应用程序部署为包含JVM的bundle,因此不需要在系统上安装JVM.
顺便说一句:这不是jnlp applet,这是一个普通的Swing应用程序.
我是用蚂蚁做的fx:deploy.这已经适用于64位系统.我的问题是,我想将此应用程序部署到32位系统并且无法使其正常工作.

这就是我所做的:
我已经设置了一个干净的Windows 7(32位)实例并安装了一个32位JVM.现在我运行我的ant脚本来构建一个捆绑的Java应用程序,它构建了一个App.exe.
但是当我尝试通过双击启动此exe时,我得到以下消息框
无法创建JVM
如果我单击确定,我会收到另一个消息框
无法启动JVM
在此之后,应用程序终止.
我没有找到任何搜索网络有关捆绑32/64位系统的内容.
如果有人能指出我正确的方向,我会很高兴.
提前谢谢了!
问候,-chris-

deployment x86 32-bit java-7

5
推荐指数
1
解决办法
2233
查看次数

如何检查文件系统是否支持Java中的链接和符号链接

Java 7中引入的Files类具有处理链接和符号链接的方法,但仅作为可选操作.

有没有办法在运行时确定文件系统在实际调用相应方法之前是否支持这些操作,还是需要调用它们然后捕获异常?

像FileSystem或FileStore这样的类似乎没有包含任何内容(或者我忽略了它).

java filesystems nio file java-7

5
推荐指数
1
解决办法
966
查看次数

dateTimeFormat的有效掩码模式

我得到了使用dateTimeFormat函数的代码.原始开发人员使用了"MM-HH-YY-dd-NN"的面具.这段代码适用于他的机器.它适用于我们的测试服务器.但它在我的本地机器上不起作用.当我将面具改为"MM-HH-yy-dd-NN"时,我才能使它工作;

注意这里的差异是大写的"YY"和小写的"yy"

在查看https://wikidocs.adobe.com/wiki/display/coldfusionen/DateTimeFormat上的文档时,看起来小写yy是官方支持的处理方式.

有谁知道为什么YY会在某些情况下得到支持而不是其他情况?我怀疑它可能是某些本地化代码,但我发现我的CF管理员和测试服务器上没有任何差异.我能在机器上做些什么让YY工作吗?

我的机器是在Mac上运行的Windows 7 VM,而服务器是Windows服务器2008.

我的JVM是1.6.0_29,而服务器运行1.7.0

这些差异是否足以解释这个问题?

这是一些简单的测试代码:

<cfscript>
    testTime=now();
    lowermask= "MM-HH-yy-dd-NN";
    uppermask= "MM-HH-YY-dd-NN";
    result = {
        lower=dateTimeFormat(testTime, lowermask)
        ,upper=dateTimeFormat(testTime, uppermask)
    };
    writedump(result);
</cfscript>
Run Code Online (Sandbox Code Playgroud)

看起来问题出在底层Java版本中.我得到的错误是:

java.lang.IllegalArgumentException: Illegal pattern character 'Y'
    at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:768)
    at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:575)
    at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:500)
    at coldfusion.util.DateUtils.getCFDateTimeFormat(DateUtils.java:673)
    at coldfusion.util.DateUtils.formatDateTime(DateUtils.java:942)
    at coldfusion.runtime.CFPage.LSDateTimeFormat(CFPage.java:1750)
    at coldfusion.runtime.CFPage.LSDateTimeFormat(CFPage.java:1742)
    at coldfusion.runtime.CFPage.DateTimeFormat(CFPage.java:1722)
    at cftemp2ecfm333879290.runPage(C:\inetpub\wwwroot\temp.cfm:7)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:444)
    at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
    at coldfusion.filter.IpFilter.invoke(IpFilter.java:64)
    at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:449)
    at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)
    at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
    at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
    at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) …
Run Code Online (Sandbox Code Playgroud)

java coldfusion java-6 java-7

5
推荐指数
1
解决办法
378
查看次数

RandomAccessFile与NIO通道

我试图了解以下行为。我的旧代码,

String path = "C:/temp/sample.txt";
String mode= "rw";
FileChannel channel = new RandomAccessFile(path, mode).getChannel();
// some code to write to this file

// finally delete
File file = new File(path);
boolean isDeleted = file.delete();
System.out.println("Is Deleted - " + isDeleted);
Run Code Online (Sandbox Code Playgroud)

O / P-已删除-否

仅当我执行“ channel.close();”时 在我删除文件之前。它是否删除文件并返回true。

较新的替换代码,

String path = "C:/temp/sample.txt";
FileChannel fChannel = FileChannel.open(path, StandardOpenOption.READ, StandardOpenOption.WRITE, StandardOpenOption.CREATE);
// some code to write to this file

// finally delete
File file = new File(path);
boolean isDeleted = file.delete();
System.out.println("Is Deleted …
Run Code Online (Sandbox Code Playgroud)

java nio filechannel java-io java-7

5
推荐指数
1
解决办法
3218
查看次数

Android Studio无法使用安全连接进行更新,抱怨使用Java 6

在Android Studio的Preferences- > Appearance & Behavior- > System Settings- >中Updates,我尝试启用该Use secure connection选项:

在此输入图像描述

但是当我点击Apply按钮时,出现错误"Secure connection is not supported on Java 6":

在此输入图像描述

我检查了JDK位置设置Project Structure,它是/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home:

在此输入图像描述

我似乎在使用Java 7,而不是Java 6.那么为什么安全连接设置抱怨Java 6不支持?


如果需要,下面是我机器上安装的JDK: 在此输入图像描述

第一个1.6.0.jdk来自Apple,另外三个来自Oracle.

android jdk1.6 java-7 java-8 android-studio

5
推荐指数
1
解决办法
1137
查看次数

如何使用varargs调用MethodHandle

我正在尝试用MethodHandle代替反射调用,但是varargs似乎无法处理。

我的反射调用程序当前如下所示:

public class Invoker {

    private final Method delegate;

    public Invoker(Method delegate) {
        this.delegate = delegate;
    }

    public Object execute(Object target, Object[] args) {
        return delegate.invoke(target, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

我当前的重写尝试如下所示(Invoker暴露的接口必须保持不变):

public class Invoker {

    private final Method delegate;
    private final MethodHandle handle;

    public Invoker(Method delegate) {
        this.delegate = delegate;
        this.handle = MethodHandles.lookup().unreflect(delegate);
    }

    public Object execute(Object target, Object[] args) throws InvocationTargetException, IllegalAccessException {
        Object[] allArgs = Stream.concat(Stream.of(target), Stream.of(args)).toArray(Object[]::new);
        return handle.invokeWithArguments(allArgs);
    }
}
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下都可以正常工作。但是varargs破坏了一切。例如,具有以下方法:

public String test(int i, …
Run Code Online (Sandbox Code Playgroud)

java reflection variadic-functions java-7 methodhandle

5
推荐指数
1
解决办法
185
查看次数