博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mac下 javac java 进行编译和运行含有包路径及引入jar包的类
阅读量:5159 次
发布时间:2019-06-13

本文共 1335 字,大约阅读时间需要 4 分钟。

近两天因为刚入职,属于熟悉环境的阶段,研究了下算法(第四版),当不使用IDE工具直接使用终端进行javac 编译带有包的类,然后使用java 会出现如下错误提示:

使用谷歌搜索了很久,终于找到解决的办法,作记录一下,免得到时候会忘

因为该问题的出现时因为BinarySearch.java类中存在包路径,该文件我是使用eclipse,放到workspace中的.

 

  package com.sort;

public class BinarySearch {        public static int rank(int key ,int[] a){        return rank(key,a,0,a.length-1);            }        public static int rank(int key ,int[] a,int lo,int hi){        //如果key存在与a[]中,它的索引不会小于lo且不会大于hi        if(lo>hi)return -1;        int mid=lo+(hi-lo)/2;        if(key < a[mid])return  rank(key,a,lo,mid-1);        else if(key>a[mid])return rank(key,a,mid+1,hi);        else return mid;    }            public static void main(String[] args) {        int[] a={0,2,4,5,6,7,12,45};        int t=rank(1,a);        System.out.println(t);        //StdOut.println ("Hello, World");    }}

该类的包路径应该是com.sort 

当编译完成后,仍需将该包的包名带上,既com.sort.BinarySearch,又因为该编辑文件是在sort包下的,这就需要我们使用相对路径定位到com包上,

使用命令java -cp ../../   com.sort.BinarySearch

或者使用绝对路径执行 

java -cp /Users/moon/Documents/workspace/javaDemo1/src com.sort.BinarySearch

该命令成功执行。

 

 

补充:如果类中引用其它的jar包,编译和运行需加入jar包的路径

如:

javac -cp /Users/moon/Documents/workspace/javaDemo1/lib/algs4.jar  RandomSeq.java

java -cp /Users/moon/Documents/workspace/javaDemo1/lib/algs4.jar:../../ com.random.RandomSeq 5 100.0 200.0  

该类成功运行 

 

转载于:https://www.cnblogs.com/moon521/p/5481018.html

你可能感兴趣的文章
内核的ramdisk
查看>>
Gerrit+apache+H2数据库简单安装配置及建库流程
查看>>
(第三周)团队模式中对交响乐团模式的理解
查看>>
Python2和Python3共存安装robotframework
查看>>
从源代码分析DbSet如何通过ObjectStateManager管理entity lifecycle的生命周期
查看>>
ABAP OO的八大理由(十四)
查看>>
Count Numbers with Unique Digits
查看>>
HeroM2连击技能设置和DB完整数据
查看>>
羊车门问题(Python)
查看>>
网络流题集
查看>>
让Dropdownlist既有静态项又有动态项或者既能有编辑项又能绑定数据源
查看>>
421. Maximum XOR of Two Numbers in an Array
查看>>
Spring Boot读取配置的几种方式
查看>>
冲刺NO.3
查看>>
Java Reflection(二):Classes
查看>>
移动APP测试流程
查看>>
SqlServer中创建非聚集索引和非聚集索引
查看>>
单件模式
查看>>
html5 新标签
查看>>
预加载显示图片的艺术
查看>>