目标: 将 ~/java 加入classpath
eclipse: 右键选中 Project, Properties, Java Build Path, Libraries, Add External Class Folder,
此时, 如果想要让home folder下的 java 文件夹成为 classpath, 选择 ~/java 即可。
要求:在这个classpath ~/java 中的 所有.java文件里, 比如 ~/java/username/util/RandomNewClass.java 中必须在开头声明: package username.util;
这样, 在当前Project里, 就可以 import username.util.*; 然后就可以用这个 RandomNewClass 类了。
javac 和 java 的使用就麻烦了一些, 反正我就是不喜欢命令行= =
首先:javac -cp ~/java RandomNewClass.java
然后: java -cp .:~/java RandomNewClass (
/*错误:如果RandomNewClass.class 是在当前目录的话, 不是的话就把前面那个点改成这个.class 所在的目录*/
正确: 前面这个点是RandomNewClass 的 classpath, 因为当前我写的RandomNewClass.java 里面没有申明 package, 然后还放在了home folder...)
至于为什么compile的时候不需要当前目录, 而运行时又需要,我就不知道了。。
经实验大概是这样: compile的时候, 那个 RandomNewClass.java 本身已经是文件了,
如果这个 .java文件不在当前目录的话,compile的时候是要指出它的绝对路径的, 所以classpath里只要加入那些有被 import 过的就行了
但是当 java 运行的时候: java -cp classpath ClassName, 这里这个ClassName不是file, 需要给定它所在的package的全称, 类似于 username.uitl.RandomNewClass 这样, 所以为了定位这个 RandomNewClass 的 .class 文件在哪里, 也要给出它的 classpath, 这样 classpath + package (隐含部分path) + RandomNewClass.class 就是这个 .class file 的真正位置了。

eclipse 中添加自定义 classpath 的方法,以及 javac 和 java 的一些使用细节的更多相关文章

  1. Eclipse中自动提示的方法参数都是arg0,arg1的解决方法

    Eclipse中自动提示的方法参数都是arg0,arg1,就不能根据参数名来推断参数的含义,非常不方便. 解决方法:Preferences->Java->Installed JREs,发现 ...

  2. Eclipse中没有andriod问题解决方法

    按照网上教程<andriod+环境搭建_图文版>进行安装android,结果,在eclipse中window->preference下找不到"Android"选项 ...

  3. Eclipse中设置编码的方法

    Eclipse中设置编码的方式如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码.然而,Eclipse工作空间(workspace)的缺省字 ...

  4. 在Eclipse中使用Maven插件 博客分类: Java相关技术

    简介 本文介绍如何在Eclipse中通过maven插件编写java项目和web项目. 安装Maven 下载Maven最新版本,见:maven.apache.org/download.html 当前版本 ...

  5. eclipse 中的.classpath和.project文件的具体作用(转)

    转载博客:http://www.cnblogs.com/panjun-Donet/archive/2010/08/25/1807780.html .project是项目文件,项目的结构都在其中定义,比 ...

  6. Eclipse中安装插件的方法

    eclipse插件的安装方法大体有以下三种:  第一种:直接复制法:假设你的Eclipse的在(C:\eclipse), 解压你下载的 eclipse 插件或者安装eclipse 插件到指定目录AA( ...

  7. eclipse中关联文件设置方法

    在前几次的试验中,只是做了处于应用程序最上层的界面设计,其实还不知程序在运行过程中到底调用了哪些函数,这些函数是怎么实现的,由于搭建环境时没有进行文件关联,所以在环境中无法实现ctrl键+左击鼠标的方 ...

  8. eclipse 中卸载插件的方法

    卸载步骤: Help -> About Eclipse -> Installation Details -> "点到你要删除的插件,如EclipseME" –&g ...

  9. Eclipse中快速 打出 main方法的签名

    有时,我们创建一个空白类,需要打出main方法 public static void main(String [] args){ } 在Eclipse先敲main字符,然后按住ALT+/,再按回车即可 ...

随机推荐

  1. PhpStorm设置函数注释模板

    *设置位置:"Settings"->"file templates"; 如下图,设置头部注释.类注释以及函数注释,时间.用户名.文件名称等随机改变的属性, ...

  2. python基本数据类型的用法和区别

    原文:http://www.cnblogs.com/soaringEveryday/p/5044007.html Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置 ...

  3. eclipse maven 配置

    http://www.cnblogs.com/little-YTMM/p/5970878.html

  4. CodeForces 803A Maximal Binary Matrix

    枚举. 枚举对角线上放多少个$1$,剩余的贪心放,更新答案. #include <iostream> #include <cstdio> #include <cstrin ...

  5. java面试题一

    个人的一点参考总结,如有雷同,纯属巧合! 1.hashmap的实现原理以及hashtable的线程安全是怎么实现的?HashMap其实也是一个线性的数组实现的,所以可以理解为其存储数据的容器就是一个线 ...

  6. [BZOJ4627][BeiJing2016]回转寿司(线段树)

    从左到右处理,设到当前数R的前缀和为cnt[i],则以i为右端点的合法的区间左端点j必然是L<=cnt[i]-cnt[j-1]<=R,即cnt[i]-R<=cnt[j-1]<= ...

  7. 用ExifInterface读取经纬度的时候遇到的一个问题

    如果读取图片经纬度,使用 String latValue = exifInterface.getAttribute(ExifInterface.TAG_GPS_LATITUDE); String ln ...

  8. poj 1984 并查集

    题目意思是一个图中,只有上下左右四个方向的边.给出这样的一些边, 求任意指定的2个节点之间的距离. 就是看不懂,怎么破 /* POJ 1984 并查集 */ #include <stdio.h& ...

  9. 零配置文件搭建SpringMvc

    零配置文件搭建SpringMvc SpringMvc 流程原理 (1)用户发送请求至前端控制器DispatcherServlet:(2) DispatcherServlet收到请求后,调用Handle ...

  10. bzoj 1101

    其实这个用的是Mobius反演的第二种形式 F(d) = (n div d) * (m div d) f(d) = [ gcd(i,j)=d ] (i in [1,a], j in [1,b]) /* ...