maven编译错误(1.3到1.7)

时间:2014-07-14 14:54:14

标签: java maven-2

我正在尝试通过maven编译项目(2 ..版本) 并获得一堆看起来像

的错误
(use -source 7 or higher to enable try-with-resources)
/home/moonsearch/moonsearch/./site/src/com/myPrj/site/tags/MyTag.java:[32,37] error: multi-catch statement is not supported in -source 1.3

我在POM中写了一个1.7版本:

<plugin><artifactId>maven-compiler-plugin</artifactId>
   <configuration>
     <source>1.7</source>
     <target>1.7</target>
</configuration></plugin>

但仍然得到这个该死的消息。真的卡在里面。

添加版本(<version>2.0.8</version>)之后,它在编译之前崩溃了 - (我有mvn -v的版本号)

    [WARNING] Skipping jpp repository file:///usr/share/maven2/repository in vanilla mode
Downloading: file:///usr/share/maven2/bootstrap_repo/org/apache/maven/plugins/maven-compiler-plugin/2.0.8/maven-compiler-plugin-2.0.8.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.8/maven-compiler-plugin-2.0.8.pom
Downloading: http://download.java.net/maven/2/org/apache/maven/plugins/maven-compiler-plugin/2.0.8/maven-compiler-plugin-2.0.8.pom
[WARNING] Skipping jpp repository file:///usr/share/maven2/repository in vanilla mode
Downloading: file:///usr/share/maven2/bootstrap_repo/org/apache/maven/plugins/maven-compiler-plugin/2.0.8/maven-compiler-plugin-2.0.8.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.8/maven-compiler-plugin-2.0.8.pom

 [INFO] Error building POM (may not be this project's POM).


    Project ID: org.apache.maven.plugins:maven-compiler-plugin

    Reason: POM 'org.apache.maven.plugins:maven-compiler-plugin' not found in repository: Unable to download the artifact from any repository

      org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.8

    from the specified remote repositories:
      java.net (http://download.java.net/maven/2),
      __jpp_repo__ (file:///usr/share/maven2/repository),
      bootstrap_repo (file:///usr/share/maven2/bootstrap_repo),
      central (http://repo1.maven.org/maven2)
     for project org.apache.maven.plugins:maven-compiler-plugin

这就是我的POM中定义的存储库

<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2</url>
</repository>

3 个答案:

答案 0 :(得分:0)

为Maven版本添​​加标记。例如:

<plugin><artifactId>maven-compiler-plugin</artifactId>
   <version>2.x.x</version>
   <configuration>
     <source>1.7</source>
     <target>1.7</target>
</configuration></plugin>

看看是否能修复它。版本应该是您安装的任何Maven版本。

答案 1 :(得分:0)

这是我在maven 3.1.1中使用的

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>

BTW没有2.0.8版本,所以我怀疑有版本问题 http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.maven.plugins%22%20AND%20a%3A%22maven-compiler-plugin%22

答案 2 :(得分:0)

我猜Maven发现的java编译器不支持1.7。因此,您的1.7选项将被忽略,并使用1.3默认值。您需要修复JAVA_HOME / PATH环境变量,或使用Maven Toolchains插件配置正确的JDK。

此外,maven-compiler-plugin的版本和maven core的版本不一定需要相同。您的消息表明情况确实如此。

如果我是你,我会使用-X标志运行maven,当你没有&lt; version&gt;时,寻找(a)挑选的maven-compiler-plugin的版本。标签,(b)拾取哪个javac,以及(c)用于项目的实际源级别。