引用自己写的Class

在java中手动编译时,总提示找不到类,调试成功后,特把目录结构与编译成功的命令列出:

样例一:

文件名

MessageStore.java

Hello.java

源码

package test;

package test;

import test.MessageStore;

路径

E:\test

E:\test

编译

Javac MessageStore.java

Javac Hello.java –classpath ..

样例2:

文件名

MessageStore.java

Hello.java

源码

package test;

package test;

import test.MessageStore;

路径

E:\src\test

E:\src\test

编译

Javac MessageStore.java

Javac Hello.java –classpath ..

样例3:

文件名

MessageStore.java

Hello.java

源码

package bf.model;

package bf.action;

import bf.model.MessageStore;

路径

E:\src\bf\model

E:\src\bf\action

编译

Javac MessageStore.java

Javac Hello.java –classpath E:\src

结论:java文件编译后的classpath为不包括包名的路径,如上面E:\src

引用其它Jar包

1,目录结构

E:\test\lib\bson-3.0.4.jar
E:\test\lib\mongodb-driver-3.0.4.jar
E:\test\lib\mongodb-driver-core-3.0.4.jar
E:\test\Quick.java

2,源文件

import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.Block;
import com.mongodb.client.FindIterable; import static com.mongodb.client.model.Filters.*;
import static com.mongodb.client.model.Sorts.ascending;
import static java.util.Arrays.asList; public class Quick
{ public static void main(String[] args) {
// MongoClientURI connectionString = new MongoClientURI("mongodb://localhost:27017");
MongoClient mongoClient = new MongoClient();
MongoDatabase db = mongoClient.getDatabase("test"); FindIterable<Document> iterable = db.getCollection("restaurants").find(); iterable.forEach(new Block<Document>() {
@Override
public void apply(final Document document) {
System.out.println(document);
}
});
}
}

3,三种编译形式

javac Quick.java -cp E:\test\lib\bson-3.0.4.jar;E:\test\lib\mongodb-driver-core-3.0.4.jar;E:\test\lib\mongodb-driver-3.0.4.jar;

javac -cp E:\test\lib\bson-3.0.4.jar;E:\test\lib\mongodb-driver-core-3.0.4.jar;E:\test\lib\mongodb-driver-3.0.4.jar; Quick.java

javac -Djava.ext.dirs=lib Quick.java
注意:要JDK1.6以上才可以, 1.6以下可以用通配符

4,运行方法

java -cp E:\test\lib\bson-3.0.4.jar;E:\test\lib\mongodb-driver-core-3.0.4.jar;E:\test\lib\mongodb-driver-3.0.4.jar; Quick

常见错误:

1,运行时,带.class后辍

如:java Quick.class

2,运行时 -cp参数位置写错

如:java Quick -cp e:\...

3,  有包名时忘记传包名

如源文件修改为

package com.fb;

import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.Block;
import com.mongodb.client.FindIterable; import static com.mongodb.client.model.Filters.*;
import static com.mongodb.client.model.Sorts.ascending;
import static java.util.Arrays.asList; public class Quick
{ public static void main(String[] args) {
// MongoClientURI connectionString = new MongoClientURI("mongodb://localhost:27017");
MongoClient mongoClient = new MongoClient();
MongoDatabase db = mongoClient.getDatabase("test"); FindIterable<Document> iterable = db.getCollection("restaurants").find(); iterable.forEach(new Block<Document>() {
@Override
public void apply(final Document document) {
System.out.println(document);
}
});
}
}

目录结构相应为:E:\test\com\fb\Quick.java

编译修正为:

cd e:\test

e:\test   javac -Djava.ext.dirs=lib E:\test\com\fb\Quick.java

正确的执行方法为:

java -cp E:\test\lib\bson-3.0.4.jar;E:\test\lib\mongodb-driver-core-3.0.4.jar;E:\test\lib\mongodb-driver-3.0.4.jar; com.fb.Quick

4,进入cmd是通过shit + 鼠标右健进入

javac 命令用法的更多相关文章

  1. Fedora javac 命令提示 [javac: 未找到命令...]

    [joy@localhost ~]$ java -version openjdk version "1.8.0_91" OpenJDK Runtime Environment (b ...

  2. Java知识点:javac命令

    javac命令初窥 注:以下红色标记的参数在下文中有所讲解. 用法: javac <options> <source files> 其中, 可能的选项包括:   -g     ...

  3. javac 命令行使用总结

    先给出参考的两个链接,然后再总结: 内容:使用javac 指定编译多个目录下java文件 链接:http://zhidao.baidu.com/link?url=W5ZERu8_ouGD-L_JH0v ...

  4. javac命令

    javac命令 javac命令初窥 注:以下红色标记的参数在下文中有所讲解. 用法: javac <options> <source files> 其中, 可能的选项包括:   ...

  5. Java文件编译与反编译:javac命令和javap命令

    1.创建一个Test.java文件,并输入内容 public class Test{ private int m; public int inc(){ return m + 1; } } 2.使用ja ...

  6. eclipse中的javac命令与java命令

    一.eclipse的javac命令:当eclipse对.java(源文件)文件进行保存操作时(快捷键ctrl+s),会执行javac命令.见上图,Default output folder(默认输出文 ...

  7. systemctl命令用法详解

    systemctl命令用法详解系统环境:Fedora 16binpath:/bin/systemctlpackage:systemd-units systemctl enable httpd.serv ...

  8. cpio命令用法

    [转自]流浪妖精のSKY    http://www.cnitblog.com/flutist1225/articles/18974.html cpio命令用法 cpio命令     利用cpio 可 ...

  9. JAVAC 命令详解(转)

    本文来自:http://www.cnblogs.com/JeffChen/archive/2008/01/16/1041783.html 结构 javac [ options ] [ sourcefi ...

随机推荐

  1. js中的call与apply

    看js权威指南里面关于call与apply方法的说明:我们可以将call()与apply()看作是某个对象的方法,通过调用方法的形式来间接调用函数.这样的解释未免使人糊涂啊.下面说一下自己的见解:其实 ...

  2. C# DES 加密 解密

    //注意:密钥必须为8位 private const string m_strEncryptKey = "abcd1234"; /// <summary> /// 加密 ...

  3. 看完这些,你就算得上既了解围棋又了解alphago了

    首先,我们要祝贺小李下出第78手的“神之一手”,这一手堪称前无古人后无来者,尤其是结合了阿尔法狗自暴自弃的表现.小李说过他的失败并不是人类的失败,同样,小李的胜利也只是属于他一人的胜利. 然而人类在围 ...

  4. Delphi对于控件的SuperClassing(封装并扩展Button,使之变成TButton)

    写博客写了这么久,但是一直不知道应该怎么样写函数之间的调用关系和执行顺序,因为不停的跳来跳去的,但是写的时候却只能顺序写调用关系,直到今天发现这种写法很不错: TButton创建窗口是在CreateW ...

  5. HighCharts开发说明及属性详解

    一.HighCharts开发说明: HighCharts 开发实际上配置HighCharts每个部分,比如配置标题(title),副标题(subtitle)等,其中每个部分又有更细的参数配置,比如标题 ...

  6. Kruskal

    算法描述:克鲁斯卡尔算法需要对图的边进行访问,所以克鲁斯卡尔算法的时间复杂度只和边又关系,可以证明其时间复杂度为O(eloge). 算法过程: 1.将图各边按照权值进行排序 2找出权值最小的边,(条件 ...

  7. jvm 内存整理 -----学习

      分为:方法区 ,堆 ,栈 ,本地栈 ,程序计数器 1.程序计数器       保存当前线程执行的字节码行号指示器,解释器工作时,都是通过改变计数器的值来获取下一条程序指令,循环.异常.跳转.分支. ...

  8. Python得到前面12个月的数据,Python得到现在时间 前一年的数据,

    #Python 实现得到现在时间12个月前的每个月 # 假设现在的时间是2016年9月25日 #得到现在的时间 得到now等于2016年9月25日 now = datetime.datetime.no ...

  9. dataguru试听课程

    http://www.dataguru.cn/article-5447-1.html#userconsent#

  10. PHP包含文件函数include、include_once、require、require_once区别总结

    一.使用语法和简介 1.include() 语法:include(/path/to/filename)include()语句将在其被调用的位置处包含一个文件.包含一个文件与在该语句所在位置复制制定文件 ...