我有以下代码
package myPackage;
import org.neo4j.graphdb;
import org.neo4j.kernel.EmbeddedGraphDatabase;
public class dbServlet extends HttpServlet {
public void init() throws ServletException {
// Start up the database here
GraphDatabaseService graphDb = new EmbeddedGraphDatabase("var/base");
}
public void destroy() {
graphDb.shutdown();
}
和build.xml文件:
<project name="dbServlet" basedir="." default="compile">
<property name="src.dir" value="src"/>
<property name="lib.dir" value="lib"/>
<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/jar"/>
<path id="classpath">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
</target>
</project>
所有neo4j jar都位于build.xml文件所在的lib目录中。源位于src / myPackage / dbServlet.java。当我运行ant -v时,类路径包含具有neo4j类的jar,但是javac说这些包不存在。任何人都知道为什么会这样?
下面是错误的片段(我现在关注第一个错误,我知道servlet api还没有出现在路径上):
[javac] /home/shaun/projects/helloAnt/src/myPackage/dbServlet.java:3: package org.neo4j does not exist
[javac] import org.neo4j.graphdb;
[javac] ^
[javac] /home/shaun/projects/helloAnt/src/myPackage/dbServlet.java:6: cannot find symbol
[javac] symbol: class HttpServlet
[javac] public class dbServlet extends HttpServlet {
[javac] ^
[javac] /home/shaun/projects/helloAnt/src/myPackage/dbServlet.java:8: cannot find symbol
[javac] symbol : class ServletException
[javac] location: class myPackage.dbServlet
[javac] public void init() throws ServletException {
[javac] ^
答案 0 :(得分:4)
我认为你的导入不太正确 - 你想导入org.neo4j.graphdb
包中的所有类吗?
import org.neo4j.graphdb.*;
否则你应该给出一个特定的类名。 javac错误消息表明正在寻找包org.neo4j
- graphdb被视为类名。