【问题标题】:compile java source 1.7 for 1.6 with Maven and Netbeans使用 Maven 和 Netbeans 为 1.6 编译 java 源 1.7
【发布时间】:2014-11-21 20:53:34
【问题描述】:

我有一个为 java 1.7 编写的源代码。我想为 java 1.6 编译它。如果我理解正确,我需要使用选项 -source 1.7 -target 1.6

我正在使用 Maven2 和 Netbeans (8.0)。所以,我尝试了:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
                <source>1.7</source>
                <target>1.6</target>
                <compilerArguments>
                    <bootclasspath>/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar</bootclasspath>
                </compilerArguments>
            </configuration>
        </plugin>

但我收到了javacTask: source release 1.7 requires target release 1.7

我读到有些人使用 eclipse 编译器来使其工作,但是如果我使用的是 Netbeans,我该怎么做呢?

非常感谢您的帮助

【问题讨论】:

    标签: java maven netbeans


    【解决方案1】:

    编辑抱歉,情况正好相反。您可以编译源 1.6 和目标 1.7,但是当源版本 > 目标版本时无法编译,因为它无法处理该语言的新功能。

    有关这方面的更多详细信息,请参阅 javac 文档 http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html 中的交叉编译选项。

    如果你有 1.6 的源,你可以像这样为目标版本 1.7 编译它们:

    <project>
      [...]
      <build>
        [...]
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
              <source>1.6</source>
              <target>1.7</target>
            </configuration>
          </plugin>
        </plugins>
        [...]
      </build>
      [...]
    </project>>
    

    【讨论】:

    • 啊好吧就是这样!明白了。谢谢:)
    • 不,抱歉,为什么我会收到 javacTask:源版本 1.7 需要目标版本 1.7?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 2013-09-19
    • 2011-02-06
    • 2013-01-26
    • 2012-09-26
    • 1970-01-01
    相关资源
    最近更新 更多