1

尝试在 Cygwin 环境中构建多模块 Maven 项目时出现上述编译错误。破坏构建的特定模块是一个 Web 服务 API,它依赖于 jaxb-api 绑定来执行 Java 对象到 XML 元素的映射。这是正在生成的特定错误:

[错误] 无法在项目 ASRB2CServices 上执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile):编译失败:编译失败:[错误] C:/IBM/RAD/workspace /XForm_Maven/XForm_Maven_20130610/ASRB2CServices/src/main/java/com/rccl/pcp/api/v1/pricetypes/package-info.java:[1,146] 包注释应该在文件 package-info.java

这是它抱怨的文件的内容:

@javax.xml.bind.annotation.XmlSchema(namespace = "http://api.pcp.rccl.com/v1/priceTypes", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.rccl.pcp.api.v1.pricetypes;

我正在使用 3.1 版本的 maven java 编译器插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.5</source>
        <target>1.5</target>
        <fork>true</fork>
        <executable>${java.home}/bin/javac</executable>
    </configuration>
</plugin>

我使用的是 2.2.6 版的 jaxb-api 和 2.2.5 版的 jaxb-impl:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.2.6</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.2.5</version>
 </dependency>

我不知道为什么会收到此错误。我做了一些谷歌搜索,我看到提到了一个可能的编译器错误,但我相信我使用的是最新版本的 maven 编译器插件。任何人都可以提供的任何见解将不胜感激

4

2 回答 2

1

我终于弄清楚了问题所在。显然,这是一个编译器错误。我使用的是与 IBM RAD/WebSphere 捆绑的 Java 运行时附带的编译器之一。这是在我的 Maven settings.xml 文件中设置的:

<java.home>/Program Files (x86)/IBM/SDP/runtimes/base_v61/java</java.home>

当我将其更改为不同的 JDK 时,它起作用了:

<java.home>/Program Files (x86)/Java/jdk1.6.0_34</java.home>

感谢那些看了我的问题的人。

于 2013-06-19T12:51:21.667 回答
0

您正在使用该文件

com/rccl/services/v1/commontypes/package-info.java 

用于注释包

com.rccl.pcp.api.v1.pricetypes

假设您的 package-info.java 处于正确的路径,我认为您必须通过以下方式更改其内容,

@javax.xml.bind.annotation.XmlSchema(namespace = "http://api.pcp.rccl.com/v1/priceTypes", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.rccl.services.v1.commontypes;
于 2013-06-18T20:14:45.800 回答