我在用jdk自带的javac、java命令编译执行程序,没有使用eclipse等软件,使用的jdk版本jdk7(下载的安装程序为jdk-7-windows-i586)。
我的一个程序中引入了软件包(import org.apache.commons.lang.ArrayUtils;),用javac编译程序后,命令行提示“软件包org.apache.commons.lang不存在”。
这是我头一次使用这个包,现在已经知道这是一个第三方软件包,我已经下载了(commons-lang3-3.0.1-bin.tar,commons-lang3-3.0.1-bin)两个压缩文件(两个压缩文件内容好像完全一样),并解压了(commons-lang3-3.0.1-bin)文件到目录E:\down\commons-lang3-3.0.1,其中包含了两个jar文件(commons-lang3-3.0.1、commons-lang3-3.0.1-tests)和三个文本文件(lisence、notice、release_notice),谁能解释:
1、commons-lang3-3.0.1-bin.tar,commons-lang3-3.0.1-bin两个压缩文件的作用和差异
2、commons-lang3-3.0.1、commons-lang3-3.0.1-tests两个jar文件的作用和差异
程序编译不通过,我尝试了两种方式但都不成功:
1、复制commons-lang3-3.0.1、commons-lang3-3.0.1-tests两个jar文件到我的java安装目录中的(E:\Program Files\Java\jdk1.7.0\lib),用javac编译程序后,命令行提示“软件包org.apache.commons.lang不存在”。
2、在用户变量中新建变量名(CLASSPATH)变量值(E:\down\commons-lang3-3.0.1;.;),用javac编译程序后,命令行提示“软件包org.apache.commons.lang不存在”。(在安装jdk时建立的变量名Path变量值E:\Program Files\Java\jdk1.7.0\bin同时存在)
谁能帮我解释出错的原因,该如何处理?怎样才能让org.apache.commons.lang包向jdk自带包一样,一旦import后,就可正常引用和使用?
我的一个程序中引入了软件包(import org.apache.commons.lang.ArrayUtils;),用javac编译程序后,命令行提示“软件包org.apache.commons.lang不存在”。
这是我头一次使用这个包,现在已经知道这是一个第三方软件包,我已经下载了(commons-lang3-3.0.1-bin.tar,commons-lang3-3.0.1-bin)两个压缩文件(两个压缩文件内容好像完全一样),并解压了(commons-lang3-3.0.1-bin)文件到目录E:\down\commons-lang3-3.0.1,其中包含了两个jar文件(commons-lang3-3.0.1、commons-lang3-3.0.1-tests)和三个文本文件(lisence、notice、release_notice),谁能解释:
1、commons-lang3-3.0.1-bin.tar,commons-lang3-3.0.1-bin两个压缩文件的作用和差异
2、commons-lang3-3.0.1、commons-lang3-3.0.1-tests两个jar文件的作用和差异
程序编译不通过,我尝试了两种方式但都不成功:
1、复制commons-lang3-3.0.1、commons-lang3-3.0.1-tests两个jar文件到我的java安装目录中的(E:\Program Files\Java\jdk1.7.0\lib),用javac编译程序后,命令行提示“软件包org.apache.commons.lang不存在”。
2、在用户变量中新建变量名(CLASSPATH)变量值(E:\down\commons-lang3-3.0.1;.;),用javac编译程序后,命令行提示“软件包org.apache.commons.lang不存在”。(在安装jdk时建立的变量名Path变量值E:\Program Files\Java\jdk1.7.0\bin同时存在)
谁能帮我解释出错的原因,该如何处理?怎样才能让org.apache.commons.lang包向jdk自带包一样,一旦import后,就可正常引用和使用?
解决方案 »
- 关于日期的奇怪问题:为什么改变Locale后,日期不随着变化?
- 请教一个正则表达式的问题
- DefaultTableModel的问题,大家帮帮我。
- java出发时间一定比到达时间早(不要错误提示,只是符合出发时间一定比到达时间早)
- 刚学JAVA,有点地方不太明白,希望大虾帮忙写来参考下!!!谢谢
- 请问如何把LONG型赋值给2个INT型?
- 现在JAVA哪个方向最有前途啊, J2EE? J2ME?
- 怎样在JAVA中播放FLASH
- C/S模式应需要了解哪些知识?
- 数据库编码问题。。。。。。。。各种困惑,求大神神来一笔,替我解惑。
- java 如何强行终止一个线程?(线程阻塞,所以不能用标志自然终止)
- 紧急求助:JAVA中TCP的SOCKET通信超时处理
你这里我想是环境变量CLASSPATH的问题,如果你CLASSPATH有E:\Program Files\Java\jdk1.7.0\lib那么把commons-lang3-3.0.1这个jar放进去是肯定可以的
第二种方法出错是因为你没有把commons-lang3-3.0.1的jar后缀文件名加上,建议你改名为commons-lang.jar然后在CLASSPATH添加一个值 E:\down\commons-lang.jar
先按推荐的方法试试,应该可以的
你这里我想是环境变量CLASSPATH的问题,如果你CLASSPATH有E:\Program Files\Java\jdk1.7.0\lib那么把commons-lang3-3.0.1这个jar放进去是肯定可以的
第二种方法出错是因为你没有把commons-lang3-3.0.1的jar后缀文件名加上,建议你改名为commons-lang.jar然后在CLASSPATH添加一个值 E:\down\commons-lang.jar
先按推荐的方法试试,应该可以的
------------------------两种方法我都试了,我的CLASSPATH设为(E:\Program Files\Java\jdk1.7.0\lib;E:\down\commons-lang3-3.0.1\commons-lang3-3.0.1.jar;)并将commons-lang3-3.0.1这个jar复制到E:\Program Files\Java\jdk1.7.0\lib,还是没过:(
//import org.apache.commons.lang.ArrayUtils;public class ShowHand{
private String[] types={"\4","\5","\3","\6"};
private String[] values={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
private final int PLNUM=5;
private LinkedList<String> cards=new LinkedList<String>();
private String[] players=new String[PLNUM];
private List<String>[] playersCards=new LinkedList[PLNUM]; void initCards(){ for(int i=0;i<types.length;i++)
{
for(int j=0;j<values.length;j++)
{
cards.add(types[i]+values[j]+" ");
}
}
Collections.shuffle(cards);
} boolean initPlayers(String... names){
if(names.length<2||names.length>PLNUM)
{
System.out.println("players nubember error.");
return false;
}
for(int i=0;i<names.length;i++)
{
players[i]=names[i];
}
return true;
} void initPlayersCards()
{
for(int i=0;i<players.length&&players[i]!=null;i++)
{
playersCards[i]=new LinkedList<String>();
}
} boolean deleverCards(String first){
boolean find=false;
for(int i=0;i<players.length && (players[i]!=null);i++){
if(first==players[i]){
find=true;
break;
}
}
if(find==false){
System.out.println("name error.");
return false;
}
// int firstPos= ArrayUtils.search(players,first);
//下面是common-lang3的API调用
int firstPos= ArrayUtils.indexOf(players,first);
for(int i=firstPos;i<players.length && (players[i]!=null);i++){
playersCards[i].add(cards.pollFirst());
}
for(int i=0;i<firstPos;i++){
playersCards[i].add(cards.pollFirst());
}
return find;
} ShowHand(String... names){
initCards();
initPlayers(names);
initPlayersCards();
} void showCards(){
for(String c:cards)
System.out.print(c+" ");
System.out.println();
} void showPlayersCards(){
for(int i=0;i<players.length&&(players[i]!=null);i++)
{
System.out.print(players[i]+": ");
for(String c:playersCards[i])
System.out.print(c+" ");
System.out.println();
}
} public static void main(String[] args)
{
ShowHand showHand=new ShowHand("li","liu","zhang","bai");
for(int i=0;i<5;i++)
showHand.deleverCards("bai");
showHand.showPlayersCards(); }}