Java包不存在

5
我开始着手处理一个旧的项目,并试图在我的电脑上运行它。昨天我导入了它,一切都很顺利,项目也构建成功,大家都很开心。然后我需要安装一些额外的软件并且在java jdk和jre路径上遇到了一些问题,但是我设法完成了此任务,并回到构建项目,但无法构建。我没有更改任何项目文件或任何项目配置(我使用eclipse,并使用ant进行构建),只有系统环境发生了变化。其他团队成员的环境中也可以构建,所以不是代码本身造成的问题。
我收到的错误消息看起来像是这样:
[javac] C:\Users\bilskluc\virtualdisk\blah\xyz\packages\radius\src\com\blah\wfc\radiusinput\RadiusHostEntry.java:9: package com.blah.devkit.exception does not exist
[javac] import com.blah.devkit.exception.DRException;
[javac]                                         ^
[javac] C:\Users\bilskluc\virtualdisk\blah\xyz\packages\radius\src\com\blah\wfc\radiusinput\RadiusHostEntry.java:10: package com.blah.devkit.storable does not exist
[javac] import com.blah.devkit.storable.DRAbstractStorable;
[javac]                                        ^

等等,它在eclipse中和从控制台运行时看起来完全一样。导入的大多数ant包都与项目一起使用并明确指定,重要的环境变量在运行构建之前从配置文件设置,并且配置文件没有更改。

提到的包和类在项目中包含在.jar文件中。

有人遇到过类似的问题吗?我已经检查了所有我能想到的东西。为了减少风险,我删除了所有代码并再次从svn下载(并检查了最近几天是否有提交)。

也许有人知道我应该在哪里寻找可能导致这个问题的系统配置更改。

编辑

这两个库在.classpath文件中提到

<classpathentry kind="lib" path="blah/lib/devkit.jar">
    <attributes>
        <attribute name="javadoc_location" value="jar:platform:/resource/MZ-package-radius/blah/lib/devkit_javadoc.jar!/javadoc"/>
    </attributes>
</classpathentry>
<classpathentry kind="lib" path="blah/lib/picostart.jar"/>

但我不太了解Ant,所以不知道它是否使用此文件来确定类路径,或者它是否使用任何其他设置。


1
请仔细检查脚本中的类路径,确保您在脚本外部设置的任何内容不会干扰,确保库位于您认为它们应该在的位置 - 这就是问题所在,很明显这是一个类路径问题。 - Dave Newton
我遇到了同样的问题。我的项目是在NetBeans中创建的,我们想使用Windows批处理脚本来编写脚本构建。我已经做了一些事情,比如设置copylibs和j2ee路径,但是我会遇到错误,比如包javax.ejb不存在等等。由于我的构建脚本是自动生成的,所以我不确定是否要手动调整它。非常感谢任何建议。 - simgineer
3个回答

4
假设您已经在ANT脚本中设置了类路径:
<path id="compile.classpath">
    ...
</path>

您可以通过将以下内容放入目标中来输出 ANT 脚本正在使用的类路径: ``````
<property name="myclasspath" refid="compile.classpath"/>
  <echo message="Classpath = ${myclasspath}"/>

0

你可以将你的jar包放入build/jar/文件夹中,然后使用这个路径:

<path id="mypath">
    <fileset dir="build/lib">
      <include name="*.jar" />
    </fileset>
</path>

0
我刚刚找到了解决方案,适用于我。我的库在“lib”目录中,奇怪的是,将它们移动到“libs”目录中,在Eclipse中重新将它们添加到构建路径中,然后再为Ant更新项目(android update project --path .),魔法般地重新开始工作。也许“libs”文件夹很特殊,必须准确地称为那个名字?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接