小编Str*_*kop的帖子

你如何国际化数据库中的文本?

如果您想在全球范围内销售,拥有完全国际化的应用程序是必需的.在Java中,我们使用资源包并解决静态文本代码的问题.

但是你如何处理存储在数据库中的文本呢?从静态定义开始,到用户可修改的对象,以用户输入的数据结束.

假设您拥有使用不同语言环境的用户使用的数据库 - 您如何处理?你有多远国际化?你在哪里划线?什么解决方法可以阻止用户使用他们不理解的语言接收文本?

localization internationalization

7
推荐指数
1
解决办法
1580
查看次数

Joda DateTime的异常结果为01.04.1893

我的时区是CET(柏林).
在测试Joda的DateTime时,我发现了一些奇怪的事情:

new DateTime(1893, 4, 1, 0, 0, 0, 0);
=>  java.lang.IllegalArgumentException: Illegal instant due to time zone offset transition: 

new DateTime(1893, 3, 31, 0, 0, 0, 0).toDate();
=>  Fri Mar 31 00:06:32 CET 1893
Run Code Online (Sandbox Code Playgroud)

时区的6分32秒移位导致时间不存在?
我必须说这是非常意外的,因为我没有指定任何时区信息,因此不希望遇到这种问题.
如果在1893年3月CET(柏林)不存在 - 为什么不new DateTime(1893, 3, 31, 0, 0, 0, 0)选择与我指定的时间相匹配的时区(即0分0秒)?

有什么方法可以使用DateTime获得正确的时间?

- 编辑 -
问题似乎是toDate().我在发布问题之前编辑了它.
Joda本身实际上工作正常:

new DateTime(1893, 3, 31, 0, 0, 0, 0);
=>  1893-01-01T00:00:00.000+00:53:28
Run Code Online (Sandbox Code Playgroud)

只是转换为Date将部分偏移移动到分钟和秒.

java jodatime

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

将 Java Mail StartTLS 与信任库结合使用

我正在尝试通过 Java 邮件 API 连接到使用 StartTLS 和自签名证书的邮件服务器。这似乎是一个问题,因为我找不到任何方法来设置 StartTLS 接受的证书或信任库。

Properties props = new Properties();
props.put("mail.imap.starttls.enable", "true");
props.put("mail.imap.starttls.required", "true");
Session session = Session.getInstance(props);
Store store = session.getStore("imap");
store.connect(hostName, port, userName, userPassword);
Run Code Online (Sandbox Code Playgroud)

当我按原样运行应用程序时,出现以下 PKIX 路径错误:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Run Code Online (Sandbox Code Playgroud)

我不想使用虚拟机参数,"-Djavax.net.ssl.trustStore"因为我希望能够控制每次访问的可信证书。

旁注:我见过人们使用"mail.imap.socketFactory.class"自定义SocketFactoryTrustManager. 但是当我这样做时,我的连接失败了

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
Run Code Online (Sandbox Code Playgroud)

我认为这是因为设置套接字工厂实际上将使用基于 SSL 的 SMTP,而不是 StartTLS(它以纯文本连接启动,稍后切换到 TLS)。

java jakarta-mail starttls

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

如何关闭CVS模块

我有办法告诉所有用户不再使用CVS模块(即项目)吗?
像"生产结束"或"转移到......"的旗帜?

我的意思是除了删除模块中的所有文件,就像我的同事喜欢做的那样.

cvs

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

XMLBeans中丢失了已解析元素的顺序

我有一个像这样的XML结构:

<root>
    <a/>
    <b/>
    <b/>
    <a/>
    <a/>
</root>
Run Code Online (Sandbox Code Playgroud)

我的XSD看起来像这样:

<xs:element name="root">
    <xs:complexType>
        <xs:sequence>
            <xs:choice maxOccurs="unbounded">
                <xs:element ref="a"/>
                <xs:element ref="b"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
</xs:element>

<xs:element name="a" type="xs:string" />
<xs:element name="b" type="xs:string" />
Run Code Online (Sandbox Code Playgroud)

即我有两个不同子标签的随机序列.

使用XMLBeans我得到一个带有访问方法的Root对象:getAArray(),getBArray()

这是我的问题:
标签按名称分组,原始顺序(a,b,b,a,a)丢失.
但我需要知道这些元素顺序.

使用XMLBeans,最好/最简单的方法是什么?

java xml xmlbeans

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

如何找到 ITextViewer 内容的项目?

我正在尝试为 Eclipse 插件实现 HyperlinkDetector,回调方法为我提供了一个可以使用的 ITextViewer。

如何获取查看器 IDocument 的项目、IPath 或 IFile?
显然,IDocument 的概念是只允许访问内容,无论来源如何。我能想到的就是检查工作台中的活动编辑器部分......

由于我正在处理的是 Java 代码,因此实际类型是 JavaSourceViewer(如果有帮助的话)。

eclipse eclipse-jdt

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

ArrayList的不同实现

我们收到了这个错误

java.lang.NullPointerException
    at java.util.ArrayList.<init>(Unknown Source)
    at de.mystuff.ExtendedArrayList.<init>(ExtendedArrayList.java:38)
Run Code Online (Sandbox Code Playgroud)

其中ExtendedArrayList:38是

new ArrayList(new ArrayCollection<E>(data));
Run Code Online (Sandbox Code Playgroud)

简而言之:ArrayList构造函数有时似乎会阻塞我们自己开发的Collection实现ArrayCollection.

即使使用与我们的客户分发的完全相同的版本,我也无法在我的计算机上重现它.

但我并非100%确定他们正在使用我们所包含的JRE.所以,我搜索了一些ArrayList.java源代码,发现openJDK 6b17有这个

public ArrayList(Collection<? extends E> c) {
    elementData = c.toArray();
    size = elementData.length;
    // c.toArray might (incorrectly) not return Object[] (see 6260652)
    if (elementData.getClass() != Object[].class)
        elementData = Arrays.copyOf(elementData, size, Object[].class);
}
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为如果没有数据我们的ArrayCollection.toArray()返回null.对于我们正在使用的1.5.0_09 Sun JDK/JRE实现,这个构造函数看起来很安全(并且毫无例外地工作).
但openJDK似乎只为unix世界发布.此代码是否也是Windows JRE的一部分?如果是这样,哪个版本?

注意:我知道我们必须修复我们的类,但我想确保我理解NullPointerException的原因.

java openjdk arraylist

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

在XSL中更新变量

在XSL中有没有办法更新全局变量?

我想检查一下我已经改变了哪些元素并采取相应的行动.这将要求我以某种方式将元素的名称添加到某种列表中,并在每次转换新元素时更新它.

但是,由于xsl:variable人们没有预期的"变量",所以一旦定义,我就无法添加任何东西.

我有多个包含的数据文件,因此使用仅知道当前节点集的xsl函数将无济于事.

==编辑==

这就是我现在的转型.但它将包括每次在不同子文件中重复引用的文件.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:output method="xml" />

    <xsl:template match="@*|node()">
        <xsl:copy>
           <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <!-- include the contents of referenced files -->
    <xsl:template match="reference">
        <xsl:apply-templates select="document(@url)/data/node()" />
    </xsl:template>

</xsl:transform>
Run Code Online (Sandbox Code Playgroud)

数据文件看起来像这样:

<data>
    <reference url="another_data_file.xml"/>
    ... other stuff ...
</data>
Run Code Online (Sandbox Code Playgroud)

xslt xslt-1.0

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