2011-09-23 84 views
0

我将Ref.java编译为ref.class,并将其放在下面指定的目录中。我在哪里可以在CLASSPATH上放置课程?


我有一个时间的魔鬼搞清楚如何使用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 

我已经试过在这个主题上,我能想到的每一个变化,但仍然没有喜悦。
任何帮助表示赞赏。

顺便说一句 - 我没有忽略或简化任何东西:我试图建立这个实际的和重要的微不足道的项目,以使结构正确。

+2

classpath用于引用_complied_ classes('.class'文件)。你的编译代码位于何处? – Mat

+0

'Ref.java'不是一个类文件(它只是一个源文件,真正的类文件将是'Ref.class'),我有这样的印象,即导入语句不完整。请修正您的问题,以反映您拥有的* real *编码。不要过分简化太多而不理解你要移除/隐藏的内容。 – BalusC

+0

你的问题确实与classpath没有关系。但无论如何,既然您问过:本教程将简要介绍Java中环境变量的使用:[PATH和CLASSPATH](http://download.oracle.com/javase/tutorial/essential/environment/paths.html)。这似乎是我在在线论坛上看到的各种_classpath_相关问题的最流行答案:[设置类路径](http://download.oracle.com/javase/6/docs/technotes/tools/windows /classpath.html) – gnat

回答

0

感谢所有提供意见的人。作为对社区的服务,我提供了以下所有知识的整合。

两个使用CLASSPATH的情况。
1.在构建/调试周期中(Eclipse内部)
2.运行独立应用程序(Eclipse外部)。

对于上面的#2,查阅了环境变量CLASSPATH。这是一个以分号分隔的目录清单,随处可见。设置它而不是干扰Eclipse - 它被忽略。

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

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

我的.classpath条目看起来像这样

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

这也可以在Eclipse GUI通过右击设置在项目上,选择Properties-> Java Build Path。然后选择添加外部类文件夹并进入你想要存储你的类的目录。

希望这对他人有用。

-John

1

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

尝试把Ref.class

C:\Eclipse\classes\utility\myapp\ 
+0

嗨, 我将Ref.java编译到Ref.class中,并将它放入 c:\ Eclipse \ classes \ utility \ myapp – DontPanic

+0

查看上面修改的问题(并忽略添加的笨拙手指上方的部分注释) 。 – DontPanic

2

这一切听起来可怕的错误给我。

C:\Eclipse\classes 

根本就是错的。你应该创建一个新的项目,你的.class文件最终应该与你的项目根目录相关。

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

你最好不要有环境变量CLASSPATH。这是做错的方法。

相关问题