编译模拟器的问题(java)

时间:2013-12-27 12:59:00

标签: java compilation simulator

我知道这可能不是这个问题的最佳位置,但是,我正在做一个关于智能交通控制器的硕士论文,我发现这个用java编写的模拟器,它已被用于我读过的很多论文中,但是由于某种原因,我不能/它不会被编译,任何人都可以告诉我为什么? 它可以在

找到

http://sourceforge.net/projects/stoplicht/

2 个答案:

答案 0 :(得分:1)

这是用旧版Java(1.5之前的版本)制作的 它使用enum作为变量名。需要as(javac告诉你)给出命令:

  

javac -source 1.4 gld / * .java

注意:将路径传递给Java时,两个斜杠都在Java中工作

如果您的文件未找到,则可能是错误的文件夹。

将zip下载到一个地方,让我们说到文件夹:

  

d:\ PROG \Ĵ\

现在打开命令提示符,我假设你在Windows PATH中有java bin JDK?

所以现在你有默认的源代码下载zip

  

gld_rel131_source.zip

在D:\ prog \ j \

提供以下命令:

  

d

     

cd D:\ prog \ j \

     

mkdir traffic2 \ src

     

cd traffic2 \ src

     

jar xf D:\ prog \ j \ gld_rel131_source.zip

     

mkdir .. \ bin

     

javac -d ../bin -source 1.4 gld / * .java

     

cd .. \ bin

     

java gld.GLDSim

答案 1 :(得分:0)

当你运行javac gld/*.java时,会出现这种错误:

./gld/algo/tlc/SL2TLC.java:272: as of release 5, 'enum' is a keyword, and may not be used as an identifier
(use -source 1.4 or lower to use 'enum' as an identifier)
            Enumeration enum = count.elements();

如错误消息中所述,添加-source 1.4

javac -source 1.4 gld/*.java

一切都会好的:)

您遇到此错误,因为此项目已旧(2005),是为J2SE 1.4或以前的版本编写的。 enum在项目中用作变量名,是J2SE 5.0以来的关键字。因此,它无法使用较新的版本进行编译,因为它的用法是保留的。

修改

由于您的系统是Windows,我会使用反斜杠(\)而不是斜杠(/)作为路径参数:

javac -source 1.4 gld\*.java

编辑2 实际上看起来你在错误的目录(gld/而不是其父目录)。只需cd ..并重试。