【问题标题】:Java package does not existJava包不存在
【发布时间】:2011-11-13 17:48:43
【问题描述】:

我开始处理遗留项目,现在正在努力在我的计算机上运行它。 我昨天导入了它,一切正常,项目确实建立了,每个人都很高兴。然后我不得不安装一些额外的软件,并且在 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,所以我不知道它是使用这个文件来确定类路径还是使用任何其他设置

【问题讨论】:

  • 在脚本中仔细检查你的类路径,确保你在脚本之外设置的没有任何干扰,确保库在你认为的位置——就是这样,很明显它是类路径问题。
  • 我也遇到了同样的问题。我的项目是在 NetBeans 中创建的,我们想使用 Windows 批处理脚本编写构建脚本。我已经完成了诸如设置 copylibs 和 j2ee 路径之类的操作,但出现了诸如 javax.ejb 包不存在等错误。因为我的构建脚本是生成的,所以我不确定是否要手动调整它。任何建议都非常感谢。

标签: java ant package environment-variables


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-11
        • 2022-01-03
        • 2017-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-04
        相关资源
        最近更新 更多