当前位置:编程学习 > JAVA >>

java 同一个包 两个java 文件的调用

目录:E:\apache-tomcat-6.0.33\webapps\Backup\WEB-INF\classes\pro
DBTools.java:
package pro;
public class DBTools 
{····
TelnetSample.java:
package pro;
public class TelnetSample {  
```
DBTools DB=new DBTools();
```

java TelnetSample时候出现

Exception in thread "main" java.lang.NoClassDefFoundError: TelnetSample (wrong n
ame: pro/TelnetSample)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: TelnetSample.  Program will exit.

什么情况啊?


java class --------------------编程问答-------------------- 楼主可以把代码写清楚些吗?怎么看着别扭 --------------------编程问答-------------------- 目录:E:\apache-tomcat-6.0.33\webapps\Backup\WEB-INF\classes\pro
DBTools.java:
————————————————————————————————
package pro;
public class DBTools 
{····}//n多代码

————————————————————————————————
TelnetSample.java:

package pro;
public class TelnetSample {  
```
DBTools DB=new DBTools();//调用
```
}

————————————————————————————————
java TelnetSample时候出现

Exception in thread "main" java.lang.NoClassDefFoundError: TelnetSample (wrong n
ame: pro/TelnetSample)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: TelnetSample.  Program will exit.

什么情况啊?

--------------------编程问答-------------------- 就是两个java文件在同一个目录下,并且都在同一个包内,调用出现了问题。代码太多了不好粘。 --------------------编程问答-------------------- 看下编译后的class文件有没有 --------------------编程问答-------------------- 有没有导入DBTools类? --------------------编程问答-------------------- E:\apache-tomcat-6.0.33\webapps\Backup\WEB-INF\classes\pro>javac TelnetSample.ja
va
TelnetSample.java:3: package org.DB does not exist
import org.DB.*;
^
TelnetSample.java:92: cannot find symbol
symbol  : class DBTools
location: class pro.TelnetSample
            DBTools DB=new DBTools();//连接数据库
            ^
TelnetSample.java:92: cannot find symbol
symbol  : class DBTools
location: class pro.TelnetSample
            DBTools DB=new DBTools();//连接数据库
                           ^
3 errors

现在出现这个了,晕啊,不能调用DBTools,为什么啊 --------------------编程问答--------------------
引用 3 楼 lgyun 的回复:
就是两个java文件在同一个目录下,并且都在同一个包内,调用出现了问题。代码太多了不好粘。
没有,重新编译又出现不一样的错误了 --------------------编程问答-------------------- TelnetSample名字和文件名是否一致,有没有写错? --------------------编程问答-------------------- TelnetSample.java:3: package org.DB does not exist
import org.DB.*;你的包名到底是什么啊 --------------------编程问答--------------------
引用 4 楼 lvzg_005 的回复:
看下编译后的class文件有没有
第一个文件TelnetSample.java:
package pro;
import org.apache.commons.net.telnet.*; 
import pro.*;
import java.io.*; 


第二个文件DBTools.java:
package pro;


两个文件都在E:\apache-tomcat-6.0.33\webapps\Backup\WEB-INF\classes\pro
假如去掉第一个文件的import pro.*;package pro;和第二个文件的package pro;话,就可以正常运行 --------------------编程问答--------------------
引用 8 楼 zhaoli2315 的回复:
TelnetSample名字和文件名是否一致,有没有写错?
E:\apache-tomcat-6.0.33\webapps\Backup\WEB-INF\classes\pro>javac TelnetSample.ja
va
TelnetSample.java:92: cannot find symbol
symbol  : class DBTools
location: class pro.TelnetSample
            DBTools DB=new DBTools();//连接数据库
            ^
TelnetSample.java:92: cannot find symbol
symbol  : class DBTools
location: class pro.TelnetSample
            DBTools DB=new DBTools();//连接数据库
                           ^

不好意思,试了各种方法,原来的代码没改过来,现在是这样的错误了 --------------------编程问答--------------------
引用 8 楼 zhaoli2315 的回复:
TelnetSample名字和文件名是否一致,有没有写错?
这个没错。请各位大神指教啊,在线等 --------------------编程问答-------------------- 你敢把所有代码取出中间的代码然后把大体的代码完整贴出来吗   我怎么看着这么费劲啊
完全看不出来你的代码到底怎么写的 --------------------编程问答--------------------
引用 13 楼 hqshaozhu 的回复:
你敢把所有代码取出中间的代码然后把大体的代码完整贴出来吗   我怎么看着这么费劲啊
完全看不出来你的代码到底怎么写的
代码肯定是没问题,是调用的问题,因为假如去掉第一个文件的import pro.*;package pro;和第二个文件的package pro;话,就可以正常运行。应该是路径哪有问题。我的调用和IMPORT有问题不? --------------------编程问答-------------------- 你是用javac在控制台编译的吧?
那就应该用>javac -classpath
的参数来编译,否则不可用
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,