zoukankan      html  css  js  c++  java
  • eclipse 中添加自定义 classpath 的方法,以及 javac 和 java 的一些使用细节

    目标: 将 ~/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 的真正位置了。

  • 相关阅读:
    calico网络异常,不健康
    k8s部署xxl-job-admin
    K8S
    二进制部署k8s高可用
    kubernetes集群部署redis5.0.6单机版
    K8s之MySQL实现数据持久化
    Kubernetes网络
    Oracle数据表锁死的解决办法
    查询各个表的详情
    Oracle-查看所有表、字段以及表注释和字段注释
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/3440426.html
Copyright © 2011-2022 走看看