相关疑难解决方法(0)

设置java语言环境设置

当我在我的linux机器上使用默认的java语言环境时,它提供了美国语言环境设置,我在哪里更改它以便它出现正确的语言环境?

java locale

34
推荐指数
6
解决办法
13万
查看次数

Java 7默认语言环境

我刚刚安装了jre7,我很惊讶地看到我的默认语言环境现在是en_US.有了jre6,它就是de_CH.

与jre7有什么不同?默认语言环境不再是操作系统之一吗?(顺便说一句,我使用的是Windows7)

谢谢你的回答.

编辑:我已经看到Category.FORMAT的Locale 是"旧的"(de_CH).Category.DISPLAY的Locale 采用操作系统语言的语言(在Windows中,这是在控制面板>区域和语言>键盘和语言>显示语言中完成的)和来自...的contry?

似乎不同的是属性" user.country ".使用Java6,我得到"CH",而使用Java7,我得到"US".

java windows locale windows-7 java-7

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

如何让Apache Derby和Hibernate在Java EE应用程序中打印英文异常消息?

我正在运行一个Java EE应用程序,该应用程序在Payara 4.1.1.172上使用Hibernate 5.2.10.Final和Apache Derby存储后端.我看到的错误信息如

Caused by: java.sql.SQLDataException: A truncation error was encountered trying to shrink VARCHAR () FOR BIT DATA '(Binärer Datenwert wird nicht angezeigt)' to length 255.
Run Code Online (Sandbox Code Playgroud)

这表示Hibernate或Derby或两者都没有在消息的所有部分使用英语错误消息.

我试过了

我看到异常消息的开头是英文的.我希望完整的信息是英文的,包括所有可能的部分.我对解决异常并不感兴趣,这是一个例子.我不是在寻找德语部分的翻译.

非英语消息部分很可能是由服务器启动的德语Ubuntu 18.04引起的.更改操作系统的系统区域设置或服务器可以包装的容器是一种解决方法,但不是解决方案.

甲SSCCE可以被发现在https://gitlab.com/krichter/derby-embedded-data-source-locale-j4ee的CI和示例输出在https://gitlab.com/krichter/derby-embedded-data- source-locale-j4ee/ - /jobs/83525395.SSCCE仅包含服务器启动周围的样板和一个简单的无效本机查询,导致出现德语错误消息,而不是问题中提供的信息.

如果可能,请使用SSCCE验证答案.

我的动机是拥有英语异常消息,以便在开发过程中更轻松地通过搜索引擎找到解决方案而不会篡改系统语言.

java hibernate derby java-ee payara

9
推荐指数
1
解决办法
251
查看次数

如何更改从 wsimport.exe 生成的代码的注释语言

我想将一个.wsdl文件导入%JAVA_HOME%/bin/wsimport.exe到我的 Java 项目中。一切正常,除了评论的语言是德语,但我希望它是英语。如何更改 所使用的语言wsimport.exe

java wsdl

6
推荐指数
2
解决办法
2357
查看次数

带有非英语参数的捆绑JavaFX应用程序抛出"无法启动JVM"

我在运行简单的JavaFX应用程序时遇到问题.我正在使用本机打包程序来构建exe.我想从Windows文件上下文菜单运行我的应用程序,但是当我尝试使用params运行应用程序时:

> JavaFXApplication1.exe ???
Run Code Online (Sandbox Code Playgroud)

我得到2个错误:

1) 在此输入图像描述,点击"确定"后:

2) 在此输入图像描述

当我将应用程序作为jar文件运行时:

> java -jar JavaFXApplication1.jar ???
Run Code Online (Sandbox Code Playgroud)

应用程序从成功开始,并且工作正常.

此外,当我从此命令运行应用程序时:

> JavaFXApplication1.exe aec
Run Code Online (Sandbox Code Playgroud)

一切都很好,应用程序工作正常.

示例应用代码:

package test;

import javafx.application.Application;
import javafx.stage.Stage;

public class Test extends Application {

    @Override
    public void start(Stage primaryStage) {
        System.out.println("Started");
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        System.out.println("Args count: " + args.length);
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

忽略,该应用程序不会关闭.

我认为这与此处描述的问题完全相同:https://bugs.openjdk.java.net/browse/JDK-8133034

有人解决了吗?或者是否有人知道这个问题的解决方法?我尝试了从1.8.40到1.8.72的java版本,但是在每个JVM上都失败了.这也不是环境问题,因为我已经在2台不同的机器(以及操作系统)上进行了测试.

我将不胜感激任何帮助.

java locale javafx packager

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

无法使用JAXB封送XBRL实例

我正在尝试通过使用JAXB创建XBRL实例。我可以基于xbrl-instance模式使用xjc成功创建Java模型(http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd

当使用xjc创建Java类时,我遵循了本文的建议(除了maven部分,因为im未使用它):JAXB无法为XBRL生成Java类

xbrl_bindings.xjb:

<bindings xmlns="http://java.sun.com/xml/ns/jaxb" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" version="2.1">
    <bindings schemaLocation="xl-2003-12-31.xsd" version="1.0">
        <bindings node="//xs:schema//xs:element[@name='title']">
            <property name="xlTitle"/>
        </bindings>
    </bindings>
</bindings>
Run Code Online (Sandbox Code Playgroud)

所以现在我试图产生一个XBRL实例,但是在初始化上下文时得到了Java.lang.IllegalArgumentException。我找到了另一篇推荐通过引用包和ObjectFactory(使用类加载器)来调用newInstance()的帖子。但是仍然会发生错误,我无法真正从stacktrace中提取任何有用的信息。

编组代码:

public class JaxbXbrlInstanceCreationTest {

    public static void main(String[] args) {

        org.xbrl._2003.instance.ObjectFactory instObjFact = new ObjectFactory();
        Xbrl xbrl = instObjFact.createXbrl();
        xbrl.setId("Test");

        org.xbrl._2003.linkbase.ObjectFactory linkbaseObjFact = new org.xbrl._2003.linkbase.ObjectFactory();
        org.xbrl._2003.xlink.ObjectFactory xlinkObjFact = new org.xbrl._2003.xlink.ObjectFactory();
        org.xbrl._2003.xlink.SimpleType schemaRefvalue = xlinkObjFact.createSimpleType();

        schemaRefvalue.setHref("http://eiopa.europa.eu/eu/xbrl/s2md/fws/solvency/solvency2/2014-07-23/mod/ars.xsd");
        schemaRefvalue.setType("simple");
        List<SimpleType> schemaRefList = xbrl.getSchemaRef();
        schemaRefList.add(linkbaseObjFact.createSchemaRef(schemaRefvalue).getValue());

        List<Object> contextList = xbrl.getItemOrTupleOrContext();

        Context context = instObjFact.createContext();
        context.setId("Context");

        ContextEntityType entityType = instObjFact.createContextEntityType();
        Identifier identifier …
Run Code Online (Sandbox Code Playgroud)

java jaxb jaxb2 xbrl

3
推荐指数
1
解决办法
3542
查看次数

Scanner.nextFloat的奇怪行为

如果我执行以下代码:

import java.util.Scanner;

public class ScannerTest {

    public static void main(String[] args) {

        Scanner s = null;
        StringBuilder builder = new StringBuilder(64);
        String line = "1.1 2.2 3.3";
        float fsum = 0.0f;      

        s = new Scanner(line).useDelimiter(" ");

        while (s.hasNextFloat()){
            float f = s.nextFloat();
            fsum += f;
            builder.append(f).append(" ");
        }
        System.out.println("Floats found: " + builder);
        System.out.println("Sum: " + fsum);
        s.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的输出是:

Floats found: 
Sum: 0.0
Run Code Online (Sandbox Code Playgroud)

但是,如果我用点替换逗号"1,1 2,2 3,3",那么它确实识别浮点数:

Floats found: 1.1 2.2 3.3 
Sum: 6.6000004
Run Code Online (Sandbox Code Playgroud)

我想这是因为我的SO是西班牙语,我们使用逗号而不是带小数的点.我想过使用Locale,但是没有Locale.SPANISH.

此外,当我运行它时,它的行为正好相反: …

java localization java.util.scanner

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