Java Apache-Ant1.6.5中build.xml文件中存在疑问

Java Apache-Ant1.6.5中build.xml文件中存在疑问,java,Java,我在代码中使用了集合和泛型。当尝试在build.xml中编译该java文件时,它在泛型中显示错误,并表示它不是一条语句。我使用的是Apache-Ant-1.6.5,我只安装了JDK1.5。我知道generic将在jdk1.5中支持,但它的显示错误。下面是我得到的代码错误 代码: Map<String, String> inputconfigmap = new LinkedHashMap<String, String>(); Map inputconfigmap

我在代码中使用了集合和泛型。当尝试在build.xml中编译该java文件时,它在泛型中显示错误,并表示它不是一条语句。我使用的是Apache-Ant-1.6.5,我只安装了JDK1.5。我知道generic将在jdk1.5中支持,但它的显示错误。下面是我得到的代码错误

代码:

Map<String, String> inputconfigmap = 
    new LinkedHashMap<String, String>();
Map inputconfigmap=
新建LinkedHashMap();
例外情况:

compile:
    [mkdir] Created dir: D:\GenericPreProcessor\Source\classes
    [javac] Compiling 49 source files to D:\GenericPreProcessor\Source\classes
    [javac] D:\GenericPreProcessor\Source\src\com\dnb\genericpreprocessor\fileprocessor\FixedLength
FileProcessor.java:187: not a statement
    [javac] Map<String, String> inputconfigmap = 
                new LinkedHashMap<String, String>();
编译:
[mkdir]已创建目录:D:\GenericPreProcessor\Source\classes
[javac]将49个源文件编译为D:\GenericPreProcessor\source\classes
[javac]D:\GenericPreProcessor\Source\src\com\dnb\GenericPreProcessor\fileprocessor\FixedLength
java:187:不是一个语句
[javac]映射输入ConfigMap=
新建LinkedHashMap();

我按照你的建议做了,但我在控制台中得到了以下信息

控制台:
D:\genericproprocessor\Source>ant
Buildfile:build.xml
[echo]JVM版本为1.5
[echo]目标编译是${ant.build.javac.Target}

清洁:
[删除]删除目录D:\GenericPreProcessor\Source\classes

cleanJar:

编译:
[mkdir]创建的目录:D:\genericproprocessor\Source\classes
[javac]将49个源文件编译为D:\GenericPreProcessor\source\classes
[javac]javac:无效的目标版本:1.5
[javac]用法:javac
[javac]可能的选项包括:
[javac]-g生成所有调试信息
[javac]-g:none不生成调试信息
[javac]-g:{lines,vars,source}只生成一些调试信息
[javac]-nowarn不生成警告
[javac]-关于编译器正在执行的操作的详细输出消息
[javac]-使用不推荐的API的不推荐的输出源位置
[javac]-类路径指定在何处查找用户类文件
[javac]-sourcepath指定在何处查找输入源文件
[javac]-引导类路径覆盖引导类文件的位置
[javac]-extdirs覆盖已安装扩展的位置
[javac]-d指定在何处放置生成的类文件
[javac]-编码指定源文件使用的字符编码
[javac]-源提供与指定版本的源兼容性
[javac]-目标生成特定VM版本的类文件
[javac]-帮助打印标准选项的摘要


生成失败

您可以使用以下工具检查编译器的版本:

<echo>JVM version is ${ant.java.version}</echo>
<echo>Target compilation is ${ant.build.javac.target}</echo>
JVM版本是${ant.java.version}
目标编译是${ant.build.javac.Target}
您可以添加
,强制编译器使用Java5遵从性。。。
此属性是ant 1.7中的默认目标,对于ant 1.6,我认为您必须将
target=“${ant.build.javac.target}”
添加到您的javac目标中。

也许您可以通过以下方式检查编译器的版本:

<echo>JVM version is ${ant.java.version}</echo>
<echo>Target compilation is ${ant.build.javac.target}</echo>
JVM版本是${ant.java.version}
目标编译是${ant.build.javac.Target}
您可以添加
,强制编译器使用Java5遵从性。。。
此属性是ant 1.7中的默认目标,对于ant 1.6,我认为您必须将
target=“${ant.build.javac.target}”
添加到您的javac目标中。

您需要定义映射的类型,即:

Map<String, String> inputconfigmap  = new LinkedHashMap<String, String>(); 
Map inputconfigmap=newlinkedhashmap();

您需要定义地图的类型,即:

Map<String, String> inputconfigmap  = new LinkedHashMap<String, String>(); 
Map inputconfigmap=newlinkedhashmap();
试试看

Map inputconfigmap=newlinkedhashmap();
试试看

Map inputconfigmap=newlinkedhashmap();

您是否尝试过为任务显式设置
目标
属性


您是否尝试过为任务显式设置
目标
属性


您是否使用双尖括号(>)?它们应该是单一的,正如kgiannakakis所示:

Map<String, String> inputconfigmap  = new LinkedHashMap<String, String>();
Map inputconfigmap=newlinkedhashmap();

您是否使用双尖括号(>)?它们应该是单一的,正如kgiannakakis所示:

Map<String, String> inputconfigmap  = new LinkedHashMap<String, String>();
Map inputconfigmap=newlinkedhashmap();

应该进行编辑以删除多余的括号…我不知道您在说什么括号。。。在编写代码方面没有问题,因为当我编译并在eclipse中运行时,它运行得很好。查看编辑日志raja应该被编辑以删除额外的括号…我不知道您要告诉哪些括号。。。在编写代码方面没有问题,因为当我在eclipse中编译并运行时,它运行得很好。你能再解释一下吗?对不起,我听不懂。你能再解释一下吗?