基本Java-打包

基本Java-打包,java,Java,在试图找到答案后,我决定发布这个问题,但没有找到答案。 我正在为OCJP学习,并尝试了一些简单的代码。这就是我所做的和需要做的 创建了两个.java源代码,比如TestOne.java和TestTwo.java[使用 记事本+++] 创建了一个名为“package1”的目录,并将这两个源放在 他们 两个源文件的第一条语句都是“package1;” java有一个公共类和一个具有默认访问权限的类 java有一个默认类,其对象为default 在TestOne.java中初始化 main方法位于Te

在试图找到答案后,我决定发布这个问题,但没有找到答案。 我正在为OCJP学习,并尝试了一些简单的代码。这就是我所做的和需要做的

  • 创建了两个.java源代码,比如TestOne.java和TestTwo.java[使用 记事本+++]
  • 创建了一个名为“package1”的目录,并将这两个源放在 他们
  • 两个源文件的第一条语句都是“package1;”
  • java有一个公共类和一个具有默认访问权限的类
  • java有一个默认类,其对象为default 在TestOne.java中初始化
  • main方法位于TestTwo.java中的这个默认类中。它尝试在中调用一个方法 使用TestOne.java默认类创建的引用对象

  • 因此,在所有这些设置之后,通过在javac[javac-classpath]中设置标志“classpath”,编译TestOne.java,然后编译TestTwo.java。遵守。但当我试图运行它时,它给了我一个异常“线程“main”
    java.lang.NoClassDefFoundError
    ”中的异常。有人知道怎么回事吗?

    编译后运行代码

    编译
    javactesttwo.java

    编译后运行
    JavaTestTwo

    试试这个

    javac -d path cname.java
    
    这样写代码

    javac -d c:\main testone.java javac -d c:\main testtwo.java
    
    c:\main
    应该存在于您的电脑中

    然后在执行的时候

    java -cp path pn.classname
    
    所以无论哪个类包含main(比如test2)


    谢谢你的回答Nambi。。。但是java说具有默认访问权限的类可以访问同一包中的其他类。如果类位于另一个包中,则需要导入。我是对的吗?是的,你是对的。但是你有两个不同的班级,对不对。两个.java文件都在开头声明了“package1;”。这意味着两个类在同一个包中。这就是我所想的,是不是错了?试过了,也是Nambi,还是抛出了异常。我尝试了我能想到的一切,通过谷歌搜索发现仍然没有任何进展。这就是为什么要在这里发帖的原因。这个问题与android有什么关系?编辑标签首先告诉我你使用过android吗?那么您应该知道您需要使用java,对吗?希望这个答案能让你满意。谢谢“老兄”。成功了。当使用javac进行编译时,需要添加-classpath,因为我们正在使用我们定义的包中的类。这不是一般的java包。javac-classpath“path”[-d“生成的类文件的路径]sourcename.java编译后,当我们尝试执行时,JVM找不到类文件,因此您使用java命令“-cp”标志设置路径。我没有将其作为“packagename.classfilename”刚设置“-cp”运行“然后是班名,这就是我做错的地方。再次感谢@a dawg@Nambiyea很高兴能帮上忙..我在做的时候很麻烦..但最终还是解决了。。
    java -cp c:\main package1.testtwo