java - 包注释应该位于文件 package-info.java 中

标签 java maven jaxb annotations cygwin

尝试在 Cygwin 环境中构建多模块 Maven 项目时,出现上述编译错误。破坏构建的特定模块是一个 Web 服务 API,它依赖 jaxb-api 绑定(bind)来执行 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 编译器插件。任何人都可以提供的任何见解将非常感激

最佳答案

我终于找到问题所在了。显然,这是一个编译器错误。我使用的是与 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>

感谢那些看我问题的人。

关于java - 包注释应该位于文件 package-info.java 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17177821/

相关文章:

Java RMI - 注册表绑定(bind)调用导致 NoSuchObjectException

java - 将多个特定文件作为来自另一个 java 程序的一个字符串 arg 传递

android - 如何为 socket.io-client.java 构建 Android 测试代码

java - 如何将 storm mongo 库添加为 Maven 依赖项?

java - ResponseWrapper 上的 JAXB "(variable) is not a valid property"

java - 是否可以通过 xsd 验证 xml,无需序列并忽略额外标签

java - 由于以下错误,无法加载数据集[country_name] 参数没有值[par_country];

java - Android 日历设置上午或下午时间不是 24 小时

java - 使用spring时如何配置jetty通过maven运行?

国际字符的 JAXB Unmarshal 导致问号 (?)