标签: java-6

Java 6支持的Unicode版本

有谁知道答案?根据http://java.sun.com/javase/technologies/core/basic/intl/faq.jsp,它是4.0的5.它是否在6升级?参考链接也将非常受欢迎.

unicode java-6

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

有没有办法判断是否为java6编译了一个类?

如何判断java类是否已编译为在java 6 vm上使用?

有一个简单的方法吗?

java compatibility class java-6

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

如何在JDK 7或6中使用javac替换弃用的wsgen或apt?

当我使用wsgen或apt在JDK 7中使用命令生成Web服务工件时.

wsgen -s src -cp CLASS_PATH -d OUTPUT_DIRECTORY  com.sun.WebServiceSEI
Run Code Online (Sandbox Code Playgroud)

显示以下警告消息

自JDK 7以来,com.sun.mirror包中包含的apt工具及其关联的API已被弃用,并计划在下一个主要JDK版本中删除.使用javac工具中提供的选项以及包javax.annotation.processing和javax.lang.model中包含的API来处理注释.

如何在不使用wsgen或apt删除此警告的情况下生成Web服务工件?

apt jax-ws wsgen java-6 java-7

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

JRE 6和7与JRE 6并排作为默认值(Win 7)

对于在Windows 7上从Java 6迁移到Java 7运行时的迁移项目,我们希望得到以下情况:

  • JRE 6和JRE 7都安装在机器上
  • JRE 6被设置为默认值
  • JRE 7将由需要它的applet和webstart应用程序明确请求.

我们发现许多使用该路径来实现这种情况的解决方案,但我们正在寻找一种保持默认路径的方法(使用C:\ Windows\System中的java.exe).不幸的是,将注册表项\ HKLM\SOFTWARE\Wow6432\JavaSoft\Java Runtime Environment\CurrentVersion更改为1.6不起作用.

有没有人有这样的设置经验?

编辑: 我有很多问题为什么我们想要这个.我可以讨论所有的细节,但请从我这里了解我们讨论了所有可能的情况,这是影响我们业务的最少的情况.涉及超过10K系统(笔记本电脑+台式机)以及许多不同的Applet,webstart应用程序和独立客户端应用程序.

java windows-7 java-6 java-7

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

正则表达式匹配引号中带有双引号的字符串

我面临着以下列格式匹配输入的挑战:

  • 输入由键=值对组成.关键始于斜线.该值可以是引号中的数字或字符串.
  • 该值可以选择包含转义引号,即引号后跟引号("").这种逃逸的报价应被视为价值的一部分.无需检查转义的报价是否平衡(例如,以另一个转义报价结束).

正则表达式应该与序列的给定key = value部分匹配,并且不应该为长输入中断(例如,值为10000个字符).

首先我来到这个解决方案:

/(\w+)=(\d+|"(?:""|[^"])+"(?!"))
Run Code Online (Sandbox Code Playgroud)

并且它执行得不错,但是在Java6中,对于长输入(例如,cashes regexplanet),StackOverflowError失败了.我尝试改进它以便更快地运行:

/(\w+)=(\d+|"(?:""|[^"]+)+"(?!"))
Run Code Online (Sandbox Code Playgroud)

但是如果输入不匹配,它会在回溯中进入无限循环,试图匹配它.

然后我来到这个正则表达式:

/(\w+)=(\d+|".+?(?<!")(?:"")*"(?!"))
Run Code Online (Sandbox Code Playgroud)

表现较慢,但它似乎解决了这个任务.

任何人都可以建议更好/更快的正则表达式?

样本输入:

/mol_type="protein" /transl_table=11 /note="[CDS] (""multi
line)"  nn  /organism="""Some"" Sequence" nn  /organism="Some ""Sequence"""
/translation="MHPSSSRIPHIAVVGVSAIFPGSLDAHGFWRDILSGTDLITDVPSTHWLVE
DYYDPDPSAPDKTYAKRGAFLKDVPFDPLEWGVPPSIVPATDTTQLLALIVAKRVLEDAAQGQFE
SMSRERMSVILGVTSAQELLASMVSRIQRPVWAKALRDLGYPEDEVKRACDKIAGNYVPWQESSF
PGLLGNVVAGRIANRLDLGGTNCVTDAACASSLSAMSMAINELALGQSDLVIAGGCDTMNDAFMY
MCFSKTPALSKSGDCRPFSDKADGTLLGEGIAMVALKRLDDAERDGDRVYAVIRGIGSSSDGRSK
SVYAPVPEGQAKALRRTYAAAGYGPETVELMEAHGTGTKAGDAAEFEGLRAMFDESGREDRQWCA
LGSVKSQIGHTKAAAGAAGLFKAIMALHHKVLPPTIKVDKPNPKLDIEKTAFYLNTQARPWIRPG
DHPRRASVSSFGFGGSNFHVALEEYTGPAPKAWRVRALPAELFLLSADTPAALADRARALAKEAE
VPEILRFLARESVLSFDASRPARLGLCATDEADLRKKLEQVAAHLEARPEQALSAPLVHCASGEA
PGRVAFLFPGQGSQYVGMGADALMTFDPARAAWDAAAGVAIADAPLHEVVFPRPVFSDEDRAAQE
ARLRETRWAQPAIGATSLAHLALLAALGVRAEAFAGHSFGEITALHAAGALSAADLLRVARRRGE
LRTLGQVVDHLRASLPAAGPAASASPAAAASVPKASTAAVPAVASVAAPGAAEVERVVMAVVAET
TGYPAEMLGLQMELESDLGIDSIKRVEILSAVRDRTPGLSEVDASALAQLRTLGQVVDHLRASLP
AASAGPAVAAPAAKAPAVAAPTGVSGATPGAAEVERVVMAVVAETTGYPAEMLGLQMELESDLGI
DSIKRVEILSAVRDRTPGLAEVDASALAQLRTLGQVVDHLRASLGPAAVTAGAAPAEPAEEPAST
PLGRWTLVEEPAPAAGLAMPGLFDAGTLVITGHDAIGPALVAALAARGIAAEYAPAVPRGARGAV
FLGGLRELATADAALAVHREAFLAAQAIAAKPALFVTVQDTGGDFGLAGSDRAWVGGLPGLVKTA
ALEWPEASCRAIDLERAGRSDGELAEAIASELLSGGVELEIGLRADGRRTTPRSVRQDAQPGPLP
LGPSDVVVASGGARGVTAATLIALARASHARFALLGRTALEDEPAACRGADGEAALKAALVKAAT
SAGQRVTPAEIGRSVAKILANREVRATLDAIRAAGGEALYVPVDVNDARAVAAALDGVRGALGPV
TAIVHGAGVLADKLVAEKTVEQFERVFSTKVDGLRALLGATAGDPLKAIVLFSSIAARGGNKGQC
DYAMANEVLNKVAAAEAARRPGCRVKSLGWGPWQGGMVNAALEAHFAQLGVPLIPLAAGAKMLLD
ELCDASGDRGARGQGGAPPGAVELVLGAEPKALAAQGHGGRVALAVRADRATHPYLGDHAINGVP
VVPVVIALEWFARAARACRPDLVVTELRDVRVLRGIKLAAYESGGEVFRVDCREVSNGHGAVLAA
ELRGPQGALHYAATIQMQQPEGRVAPKGPAAPELGPWPAGGELYDGRTLFHGRDFQVIRRLDGVS
RDGIAGTVVGLREAGWVAQPWKTDPAALDGGLQLATLWTQHVLGGAALPMSVGALHTFAEGPSDG
PLRAVVRGQIVARDRTKADIAFVDDRGSLVAELRDVQYVLRPDTARGQA"
/note="primer of  Streptococcus pneumoniae
Run Code Online (Sandbox Code Playgroud)

预期输出(来自regexhero.net):

正则表达式

java regex java-6

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

如何为运行时编译设置上下文类加载器的类路径?

我想在weblogic 10.3服务器中在运行时编译和加载新类.类加载似乎有点简单:

class ClassFileManager 
extends ForwardingJavaFileManager<StandardJavaFileManager> {

  Map<String, JavaClassObject> classes = new HashMap<String, JavaClassObject>();

  public ClassFileManager(StandardJavaFileManager standardManager) {
    super(standardManager);
  }

  @Override
  public ClassLoader getClassLoader(Location location) {
    return new SecureClassLoader(currentThread().getContextClassLoader()) {
      @Override
      protected Class<?> findClass(String name) throws ClassNotFoundException {
        byte[] b = classes.get(name).getBytes();
        return super.defineClass(name, b, 0, b.length);
      }
    };
  }

  @Override
  public JavaFileObject getJavaFileForOutput(
      Location location, String className, Kind kind, FileObject sibling)
      throws IOException {
    JavaClassObject result = new JavaClassObject(className, kind);
    classes.put(className, result);
    return result;
  }
}
Run Code Online (Sandbox Code Playgroud)

执行类加载的最简单方法似乎是初始化a SecureClassLoader并让它使用它 …

java compiler-construction weblogic java-6

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

JDBC不兼容错误

我有一个用旧版java编写的遗留代码.我正在尝试编译代码并使用ant生成.ear文件.我正在使用的java版本是jdk7/jdk6作为java home.在执行ant脚本时,我收到以下错误

Compiling 20 source files to C:\views\kroger\kroger\of_platform\build\oneforce\classes\ra
warning: [options] bootstrap class path not set in conjunction with -source 1.4
C:\views\kroger\kroger\of_platform\sdk\src\java\ra\com\workscape\connector\wedb\
JdbcConnectionImpl.java:81: error: JdbcConnectionImpl is not abstract and does not     override abstract method getNetworkTimeout() in Connection

public class JdbcConnectionImpl implements JdbcConnection {

C:\views\kroger\kroger\of_platform\sdk\src\java\ra\com\workscape\connector\wedb\
JdbcDataSource.java:78: error: JdbcDataSource is not abstract and does not override abstract method getParentLogger() in CommonDataSource

public class JdbcDataSource
Run Code Online (Sandbox Code Playgroud)

我假设这个错误是因为某些jar不兼容较新的jdk版本.当我使用jdk1.4/1.5时,这很好用.请让我知道,如果我需要采取任何最新版本的jar ..使用的数据库是oracle,我使用ojdbc14编译数据库java代码.

它很重要,因为我们必须决定我们需要使用哪个版本的java.

谢谢

java ant jdbc java-6 java-7

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

Java Card Converter:不支持的版本50.0的类文件格式

我正在尝试从Wallet.java生成CAP文件和导出文件,该文件是samples目录下的Java Card SDK中的标准.我编译类,使用转换器并遇到以下问题:

$ javac -g -d classes/ src/com/sun/javacard/samples/wallet/Wallet.java
$ converter -debug -verbose -classdir "$JC_HOME/samples/src" com.sun.javacard.samples.wallet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x6:0x1 1.0

Java Card 2.2.2 Class File Converter, Version 1.3
Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.

parsing /home/user/javacard/java_card_kit-2_2_2/samples/src/com/sun/javacard/samples/wallet/Wallet.class
error: com.sun.javacard.samples.wallet.Wallet: unsupported class file format of version 50.0.

conversion completed with 1 errors and 0 warnings.
Run Code Online (Sandbox Code Playgroud)

我的Java版本和javac版本是相同的,Java 1.6:

$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, …
Run Code Online (Sandbox Code Playgroud)

java applet converter javacard java-6

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

List.sort()NoSuchMethodException 1.6 vs 1.8

所以我对Java 8的变化感到有点困惑 - List.sort - 请跟我一起,因为混乱会变得明显.

我安装了Java 8 JDK并运行Eclipse,并将问题项设置为在1.6(Windows环境)中编译.

在我的代码中,我一直在做(示例扩展BaseExample):

public static final Comparator<BaseExample> sortByLevel_DESC = new Comparator<NavItemBase>() {...};

List<Example> examples = new ArrayList<Example>();

examples.sort(sortByLevel_DESC);
Run Code Online (Sandbox Code Playgroud)

尽管编译为1.6,但这仍然有效,并且一直对我有用(记得我安装了Java 8).

然而...

由于将此代码应用于客户端计算机 - 安装了Java 7(JRE而非JDK)(Linux环境),因此抛出异常"java.util.List.sort()NoSuchMethodException".

将代码从:更改examples.sort(sortByLevel_DESC);为:Collections.sort(examples, sortByLevel_DESC);解决了问题.

这使我得出了一个明显的结论,即由于Java 8特定的代码,并且由于Java 8没有安装,它会失败.

但我想知道......

为什么eclipse不会在没有编译到Java 8时抱怨Java 8代码,就像你在没有编译到Java 8时尝试使用Lambda表达式一样抱怨它:

examples.stream().filter(e -> e.active()).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

(e - > e.active())成为问题:

1.8来源

我想如果方法只是java 8,并且我被编译为6,那么只能执行java 6代码 - 我实际上依赖于这个"项目特定设置"来确保我不写任何代码与客户端通常拥有的较低版本不兼容,例如我尝试使用lambda表达式时.

也许这实际上是Eclipse而不是Java的问题?或者这可能与lambda表达式完全不同(它应该显示错误的方式)?

java eclipse list java-6 java-8

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

SSL握手 - java.security.InvalidAlgorithmParameterException问题

需要你的java问题的建议.

目前,我们在使用Java代码访问Web服务时遇到问题.我们的供应商使用SSL - RSA 2048位(SHA256withRSA),DH(Diffie-Hellman算法)素数值大于1024的SSL.我们在生产中有java版本1.6.0.10.

当我们执行代码时,我们收到错误 -

Caused by: java.lang.RuntimeException: Could not generate DH keypair at com.sun.net.ssl.internal.ssl.DHCrypt.<init>(DHCrypt.java:106)
        at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:556)
        at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:183)
        at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
        at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
        ... 6 more
Caused by: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 1024 (inclusive) at com.sun.crypto.provider.DHKeyPairGenerator.initialize(DashoA13*..)
        at java.security.KeyPairGenerator$Delegate.initialize(KeyPairGenerator.java:627)
        at com.sun.net.ssl.internal.ssl.DHCrypt.<init>(DHCrypt.java:100)         ... 13 more
Run Code Online (Sandbox Code Playgroud)

这是已知的java的bug /限制,它已在v7及之后修复,但它仍然存在于'1.6.0.10'中

https://bugs.java.com/bugdatabase/view_bug.do?bug_id=7044060 https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6521495

在上面的链接中,我发现以下声明 -

CUSTOMER提交的变通方法:使用BouncyCastle的JCE实现,它不会强制实施此限制,也不会直接使用BigNumber API.

我们无法升级到最新的java版本.我们可以实施任何解决此SSL握手问题的方法吗?我们是否需要对bouncycastle实施进行服务器端更改?或者我们只能在客户端使用?任何有关解决此问题的建议都受到高度赞赏.

java ssl java-6

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