1

编译带有注释的 JAXB 生成的类时出现以下错误:

-source 1.3 不支持注释(使用 -source 5 或更高版本启用注释)@XmlAccessorType(XmlAccessType.FIELD)

-source 1.3 不支持注释(使用 -source 5 或更高版本来启用注释)@XmlRegistry

...

对于所有的注释。

我尝试过使用 jdk 1.6 或 jdk1.7,都导致相同的错误。

有人见过这个吗?

我正在使用 maven-compiler-plugin

[调试] 跟踪 org.apache.maven.BuildFailureException:在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java: 556)在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor .executeTaskSegments(DefaultLifecycleExecutor.java:348) 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) 在 org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) 在 org.apache。行家。DefaultMaven.execute(DefaultMaven.java:138) 在 org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 在 org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method .invoke(Method.java:597) 在 org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 在 org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 在 org.codehaus.classworlds。 Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) 原因:org.apache.maven.plugin.CompilationFailureException:在 org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114) 在 org.apache.maven.plugin.DefaultPluginManager 的 org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:516) 编译失败.executeMojo(DefaultPluginManager.java:490) 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) ... 17 更多

谢谢你,库。

4

1 回答 1

1

默认情况下,Maven 编译器插件尝试在 Java 的最低级别进行编译。因此,即使您使用的是 Java 6 或 7,它也会尝试编译 Java 1.3 应用程序。您可以通过将以下内容添加到您的 pom 来更改它:

<project>
  [...]
  <build>
    [...]
    <plugins>
      <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>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>
于 2013-05-17T12:45:44.427 回答