小编Mat*_*eva的帖子

使用Jackson XML映射器将Java List序列化为XML

嗨,我需要使用Jackson-dataformat XMLMapper从JAVA创建XML.XML应该是这样的

<Customer>
  <id>1</id>
  <name>Mighty Pulpo</name>
    <addresses>
      <city>austin</city>
      <state>TX</state>
    </addresses>
    <addresses>
      <city>Hong Kong</city>
      <state>Hong Kong</state>
    </addresses>
</Customer>
Run Code Online (Sandbox Code Playgroud)

但我总是喜欢额外的"<addresses> </ addresses>"标签.

<Customer>
  <id>1</id>
  <name>Mighty Pulpo</name>
<addresses>
    <addresses>
      <city>austin</city>
      <state>TX</state>
    </addresses>
    <addresses>
      <city>Hong Kong</city>
      <state>Hong Kong</state>
    </addresses>
<addresses>
</Customer>
Run Code Online (Sandbox Code Playgroud)

我使用下面的代码来创建XML

JaxbAnnotationModule jaxbAnnotationModule = new JaxbAnnotationModule();
XmlMapper mapper = new XmlMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
mapper.registerModule(jaxbAnnotationModule);
mapper.registerModule(new GuavaModule());
String xml = mapper.writeValueAsString(customer);
System.out.println(xml);
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?如何删除额外的标签呢.我试过使用@XmlElement,但它没有帮助.TIA!

java xml pojo jackson xmlmapper

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

maven-resources-plugin:2.5 - 无法创建资源输出目录

我用它构建项目时偶尔会收到此错误

>mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 15:51:28+0200)
Maven home: ...\apache-maven-3.0.5
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: ...
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
Run Code Online (Sandbox Code Playgroud)

和错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.5:resources 
(default-resources) on project project-name: Cannot create resource output directory: 
 path\to\project\code\project-name\target\classes -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

注意:有时会发生这种情况,并且与代码无关.它可能发生在两个连续构建中的一个 - 一个接一个,完全相同的源代码.

有没有人知道如何完全避免它?它往往会打断相当耗时的构建: - /

maven

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

java.text.Collat​​or将"v"和"w"视为瑞典语/语言环境的相同字母

以下测试正确使用Java 8.

Comparator<String> stringComparator = Collator.getInstance(new Locale("sv", "SE"));

Assert.assertTrue(stringComparator.compare("aaaa", "bbbb") < 0);
Assert.assertTrue(stringComparator.compare("waaa", "vbbb") < 0);
Assert.assertTrue(stringComparator.compare("vaaa", "wbbb") < 0);
Run Code Online (Sandbox Code Playgroud)

这个订单waaa之前vbbbvaaa之前wbbb.显然它对待vw作为同一封信.

事实上,根据维基百科,用瑞典语:

到2006年,'W'因使用新的借词而在使用方面有所增长,因此'W'正式成为一封信,并且'V'='W'排序规则已被弃用.2006年以前的书籍和软件通常使用该规则.该规则被弃用后,一些书籍和软件继续应用它.

有没有人有这个一般的解决办法,使vw被视为瑞典区域内独立的信吗?

java java-8

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

标签 统计

java ×2

jackson ×1

java-8 ×1

maven ×1

pojo ×1

xml ×1

xmlmapper ×1