我在哪里把课程放在CLASSPATH上?

时间:2011-09-23 14:40:09

标签: java android eclipse

我将Ref.java编译成ref.class并将其放在下面指定的目录中。


我正在寻找如何使用CLASSPATH的魔鬼。如果有人能够指出我的(可能是愚蠢的)错误,我会非常高兴。

我有一个类“Ref.java”如下:

package utility.myapp;  
public class Ref {  
static public void print(String s)  
{  
// do something here  
}  
}  

我的CLASSPATH包括:

C:\Eclipse\classes

我将该类存储为文件:

C:\Eclipse\classes\utility\myapp\Ref.class

从我的主要项目导入为:

import utility.myapp.*

在下面的文件“Main.java”中:

package com.reftest;
import android.app.Activity;
import android.os.Bundle;
import utility.myapp.*;
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}
}

Eclipse说:

The import utility cannot be resolved

我已经尝试了我想到的这个主题的每个变体,但仍然没有快乐 任何帮助赞赏。

BTW - 我没有省略或简化任何事情:我试图建立这个实际且重要的琐碎项目,只是为了使结构正确。

3 个答案:

答案 0 :(得分:2)

这对我来说听起来非常不对。

C:\Eclipse\classes

完全错了。您应该创建一个新项目,并且.class文件最终应该与项目根目录相关。

您应该能够右键单击Eclipse项目并设置JAR文件所在的目录等.Eclipse应该告诉您一个默认的位置,它会在您编译.java时放置.class文件;确保它与您的项目根目录相关。

你最好没有环境变量CLASSPATH。这是错误的做法。

答案 1 :(得分:1)

您需要确保已编译的类文件位于CLASSPATH

尝试将Ref.class放入

C:\Eclipse\classes\utility\myapp\

答案 2 :(得分:0)

感谢所有提供输入的人。作为对社区的服务,我提供了我在下面学到的所有内容。

两个个案例,其中使用了CLASSPATH 1.在构建/调试周期(Eclipse内部)中 2.独立运行应用程序(Eclipse外部)。

对于上面的#2,请参阅环境变量CLASSPATH。它是一个以分号分隔的目录列表,随处可见。设置 not 会干扰Eclipse - 它会被忽略。

对于#1,类路径存储在工作区项目根目录中的文件“.classpath”中。要为类搜索添加外部目录,请添加以下格式的行:

<classpathentry kind="lib" path="yourclasspath"/>

我的.classpath条目如下所示

<classpathentry kind="lib" path="C:/Eclipse/classes"/>  

也可以在Eclipse GUI中通过右键单击项目,选择Properties-&gt; Java Build Path来设置。然后选择Add External Class Folder并输入要存储类的目录。

希望这对其他人有用。

-John