【发布时间】:2018-07-06 16:30:50
【问题描述】:
我必须在 Ubuntu 12.04 下运行著名的基于 java 的 Cooja 模拟器,并使用我制作的一些类进行扩展。在我的 java 文件中,我想起了 jfreechart 包:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.ui.ApplicationFrame;
import org.jfree.chart.axis.ValueAxis;
我使用以下命令运行模拟器:
$ ant run_bigmem
然后弹出一些异常:
compile:
[javac] Compiling 44 source files to /home/user/contiki_copy/tools/cooja/build
[javac] /home/user/contiki_copy/tools/cooja/java/se/sics/cooja/plugins/sixlowpan_metrics/Chart.java:7: error: package org.jfree.chart does not exist
[javac] import org.jfree.chart.ChartFactory;
[javac] ^
[javac] /home/user/contiki_copy/tools/cooja/java/se/sics/cooja/plugins/sixlowpan_metrics/Chart.java:8: error: package org.jfree.chart does not exist
[javac] import org.jfree.chart.ChartPanel;
[javac] ^
[javac] /home/user/contiki_copy/tools/cooja/java/se/sics/cooja/plugins/sixlowpan_metrics/Chart.java:9: error: package org.jfree.chart does not exist
[javac] import org.jfree.chart.JFreeChart;
.
.
.
and so on..
然后我修改了文件:/home/user/.bashrc,并添加了以下几行:
export CLASSPATH=.:/home/user/contiki_copy/tools/cooja/lib/jfreechart-1.0.11.jar:/home/user/contiki_copy/tools/cooja/lib/jcommon-1.0.14.jar
然后,在提示符下输入:
$ echo $CLASSPATH 看看环境变量是否输入正确,我得到,其实是:
user@ubuntu:~/contiki_copy/tools/cooja$ echo $CLASSPATH
.:/home/user/contiki_copy/tools/cooja/lib/jfreechart-1.0.11.jar:/home/user/contiki_copy/tools/cooja/lib/jcommon-1.0.14.jar
尽管进行了所有这些努力,但没有任何改变,我仍然收到错误..不知道该怎么办,真的,有什么想法吗?
我猜 build.xml 文件的关键部分如下:
<target name="run_bigmem" depends="init, compile, jar, copy configs">
<java fork="yes" dir="${build}" classname="se.sics.cooja.GUI" maxmemory="1536m">
<arg line="${args}"/>
<env key="LD_LIBRARY_PATH" value="."/>
<classpath>
<pathelement path="${build}"/>
<pathelement location="lib/jdom.jar"/>
<pathelement location="lib/log4j.jar"/>
<pathelement location="lib/jsyntaxpane.jar"/>
<pathelement location="lib/jfreechart-1.0.11.jar"/>
<pathelement location="lib/jcommon-1.0.14.jar"/>
</classpath>
</java>
我有目录中的所有 jar:/home/user/contiki_copy/tools/cooja/lib,我正在运行目录中的所有内容:/home/user/ contiki_copy/tools/cooja.
【问题讨论】:
-
你构建的文件是什么样的?
-
它是:link
-
我也试过运行这个:
user@ubuntu:~/contiki_copy/tools/cooja$ ant -lib /home/user/contiki_copy/tools/cooja/lib/jcommon-1.0.14.jar -lib /home/user/contiki_copy/tools/cooja/lib/jfreechart-1.0.11.jar run_bigmem没有任何改变..
标签: java ant classpath packages