java - Maven 编译 String.format 时出错

标签 java maven

我遇到了一个问题,每当我尝试在代码中使用 String.format 时,Maven 编译过程似乎都会抛出错误。

我正在使用 Maven 3.0.4 和 Java 1.7.0_25。我创建了一个这样的测试项目:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -groupId=com.mycompany.app -DartifactId=testapp

然后我将位于 src/main/java/com/mycompany/app/App.java 中的 main 方法更改为:

package com.mycompany.app;

/**
 * Hello world!
 *
 */
public class App
{
    public static void main( String[] args )
    {
        System.out.println( String.format("Hello World!") );
    }
}

注意 System.out.println 调用中的 String.format

在进行 mvn 编译 时,我现在收到以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project testapp: Compilation failure
[ERROR] /home/me/projects/java/testapp/src/main/java/com/mycompany/app/App.java:[11,34] error: cannot find symbol
[ERROR] -> [Help 1]

我不知道如何解决这个问题。为了完整起见,这是我生成的 pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.mycompany.app</groupId>
  <artifactId>testapp</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>testapp</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

更新

Maven 版本信息:

Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-oracle/jre
Default locale: en_AU, platform encoding: UTF-8
OS name: "linux", version: "3.5.0-37-generic", arch: "amd64", family: "unix"

最佳答案

尝试将其添加到 pom.xml:

<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>

我认为默认情况下,maven 会尝试编译您的代码以与 1.4 兼容。

查看此链接以获取更多信息: http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html

关于java - Maven 编译 String.format 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19174176/

相关文章:

java - 向maven项目添加方面

java.lang.NoClassDefFoundError : org/apache/lucene/codecs/simpletext/SimpleTextCodec

java - 错误: constructor in class cannot be applied to given types

java - 如何使用Selenium WebDriver清除JS输入的值?

maven - Maven 存储库是否具有标准格式?

java.lang.NoClassDefFoundError : org/apache/spark/Logging 错误

java - 来自 context.xml 的 Maven 配置文件的不同资源

java - 堆栈是从 0 开始还是从 1 开始?

java - 从 InputStream 读取并写入 OutputStream

java jvax 注入(inject)失败并出现空点 NullPointerException