Java包不存在

时间:2011-09-09 11:50:13

标签: java ant package environment-variables

我开始研究遗留项目,现在就在我的计算机上运行它。 我昨天进口了它,一切都很好,项目确实很好,每个人都很高兴。然后我不得不安装一些额外的软件,并且在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包随项目一起导入并明确指出,在运行构建之前,最重要的env变量也是从配置文件中设置的,配置文件没有改变。

提到的包和类位于项目中包含的.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,所以我不知道它是否使用此文件来确定类路径或是否使用任何其他设置

3 个答案:

答案 0 :(得分:4)

假设您在ANT脚本中设置了类路径:

<path id="compile.classpath">
    ...
</path>

您可以通过在目标中放置类似的内容来输出ANT脚本使用的类路径:

<property name="myclasspath" refid="compile.classpath"/>
  <echo message="Classpath = ${myclasspath}"/>

答案 1 :(得分:0)

我刚想出一个适合我的解决方案。我的库位于“lib”目录中。奇怪的是,将它们移动到“libs”目录,将它们重新添加到Eclipse中的构建路径,然后为Ant(android update project --path .)更新项目,神奇地启动了一些工作。也许“libs”文件夹是特殊的,它必须完全被称为?

答案 2 :(得分:0)

您可以将您的jar放入build / jar /文件夹,然后使用此路径:

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