程序在windows Eclips中编译运行都可以,但是移植到另外一台linux机器中编译就报错,错误如下:/impl/Protection/GlobalConstant.java:26: generics are not supported in -source 1.3
[javac] (use -source 5 or higher to enable generics)
[javac] public static ArrayList<Integer> PCM_AddTPNumberList = null;
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:29: warning: as of release 5, 'enum' is a keyword, and may not be used as an identifier
[javac] (use -source 5 or higher to use 'enum' as a keyword)
[javac] public static enum TPDeleteState
[javac] ^
[javac] /pcmbundle/impl/Protection/GlobalConstant.java:29: ';' expected
[javac] public static enum TPDeleteState
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:31: not a statement
[javac] PCM_NORMAL,
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:31: ';' expected
[javac] PCM_NORMAL,
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:32: not a statement
[javac] PCM_DELETABLE,
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:32: ';' expected
[javac] PCM_DELETABLE,
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:33: not a statement
[javac] PCM_MODIFIED;看起来是泛型和enum不被支持,但是我查了java的版本,已经是1.6,按理说应该支持泛型了,为什么会有这种错误呢?
[javac] (use -source 5 or higher to enable generics)
[javac] public static ArrayList<Integer> PCM_AddTPNumberList = null;
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:29: warning: as of release 5, 'enum' is a keyword, and may not be used as an identifier
[javac] (use -source 5 or higher to use 'enum' as a keyword)
[javac] public static enum TPDeleteState
[javac] ^
[javac] /pcmbundle/impl/Protection/GlobalConstant.java:29: ';' expected
[javac] public static enum TPDeleteState
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:31: not a statement
[javac] PCM_NORMAL,
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:31: ';' expected
[javac] PCM_NORMAL,
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:32: not a statement
[javac] PCM_DELETABLE,
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:32: ';' expected
[javac] PCM_DELETABLE,
[javac] ^
[javac] pcmbundle/impl/Protection/GlobalConstant.java:33: not a statement
[javac] PCM_MODIFIED;看起来是泛型和enum不被支持,但是我查了java的版本,已经是1.6,按理说应该支持泛型了,为什么会有这种错误呢?
编译需要看jdk版本
ant编译的吗?-source指定的source="1.3"是吗?改成1.4之后的吧。
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
的确是版本问题导致不支持泛型呀