如何在java里面直接调用jar包 握有一些jar包放在libs这个文件架里面。我想再启动java的时候就可以自动调用这些jar包请问如何设置??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你用的是eclipse的话,project->properties->Java Build Path->Libraries->adds external JARs,然后把你lib中的JAR文件导进来就行了 只要你的classPath指向了这个libs,程序里import进来就可以了 楼上说得对,引了包之后,jar包里面的class用法就跟别的一样用法。 我写了程序,java的,例如:com.hehe包 a.java是我要编译的类com.haha包 b.java是a.java调用的类怎么才能在编译a.java的时候让他能找到b.java因为我在编译a.java的时候提示找不到b.java我用纯java环境编译 使用编译参数或者设置CLASSPATH比如,你现在在x:\xxx\com\hehe目录你键入javac a.java -classpath x:\xxx\com\haha或者把CLASSPATH路径设置为".;x:\xxx\com\haha"还有,如果是jar包,你不能将路径指向他的父目录,因为包本身就是个目录,你要具体指向jar文件。比如,在c:\java\libs\有个mylib.jar这时CLASSPATH的设置应该是".;c:\java\libs\mylib.jar"而不能单纯指向c:\java\libs 一种方法是你自己按正确顺序编译各个类,并在每次编译时指定classpath,比如:cd srcjavac -classpath . com\hehe\b.javajavac -classpath . com\hehe\a.java(可以指定输出目录:javac -classpath ..\classes -d ..\classes com\hehe\b.javajavac -classpath ..\classes -d ..\classes com\hehe\a.java)另一种更好的办法是使用javac编译器的类搜索(sourcepath)机制,比如:javac -sourcepath src src\com\hehe\a.java(可以指定输出目录,javac -sourcepath src -d classes src\com\hehe\a.java)它如果发现在com.hehe.a类中调用了com.hehe.b类,它会在sourcepath目录中找到com\hehe\b.java这个文件,先编译这个类。 (接上)……先编译这个类,并把这个类(b.class)放到-d 指定的目录(或者如果没有指定-d选项,则放至当前目录)。然后再编译a.java。最重要是:当编译a.java的时候,javac会自动在-d 指定的目录,即classes目录中(或者如果没有指定-d选项,则在当前目录,即src目录中)中找到这个b.class。也就是相当于在编译a.java时,自动添加了-classpath classes选项(或者如果没有指定-d选项,则相当于添加了-classpath src选项)唉,不知道讲清楚了没有~ 最简单的方法,把JAR文件拷到你的工程目录下,用import就可以了 hehe 多谢各位,我的问题解决了,方法是比如我的包结构是:c:\test\com\--hehe --hahacom.hehe.abc.java,com.haha.def.java abc调用def在编译的时候在com的上一层c:test\编译javac com\haha\def.java,当然按照类的执行顺序编译。即abc调用def则先编译def然后在编译abc,执行的时候要用-classpath引入所有要引用的jar包(我在windows的环境变量里面设置了jar的路径--一个一个加的,但是不起作用比如我的jar包在c:\test\lib\hij.jar在windows环境变量的classpath里面设置c:\test\lib\hij.jar还是不行)在c:\test执行com\hehe\abc就ok了。如果有谁能解决jar报引用的问题就好了。 菜鸟请教异常处理问题 验证xml文件时出错 JScrollPane的问题 关于JAVA反射使用 repaint()延时问题 methods[j].invoke的问题 请问如何求任意数的阶乘(用Java或C/C++实现均可)? 请教:Java中图形显示的问题。。。 如何将javaApplet跟带有主类的java程序转换? 面试碰到的问题:三个农民围在一张桌子吃面条。。 请教高手!我想实现象‘优化大师’那样的可以收缩的功能面版 jComboBox显示内容和id问题,相信好多人都会碰到的问题
com.hehe包 a.java是我要编译的类
com.haha包 b.java是a.java调用的类
怎么才能在编译a.java的时候让他能找到b.java因为我在编译a.java的时候提示找不到b.java
我用纯java环境编译
键入javac a.java -classpath x:\xxx\com\haha或者把CLASSPATH路径设置为".;x:\xxx\com\haha"还有,如果是jar包,你不能将路径指向他的父目录,因为包本身就是个目录,你要具体指向jar文件。比如,在c:\java\libs\有个mylib.jar
这时CLASSPATH的设置应该是".;c:\java\libs\mylib.jar"而不能单纯指向c:\java\libs
cd src
javac -classpath . com\hehe\b.java
javac -classpath . com\hehe\a.java
(可以指定输出目录:
javac -classpath ..\classes -d ..\classes com\hehe\b.java
javac -classpath ..\classes -d ..\classes com\hehe\a.java
)
另一种更好的办法是使用javac编译器的类搜索(sourcepath)机制,比如:
javac -sourcepath src src\com\hehe\a.java
(可以指定输出目录,javac -sourcepath src -d classes src\com\hehe\a.java)它如果发现在com.hehe.a类中调用了com.hehe.b类,它会在sourcepath目录中找到com\hehe\b.java这个文件,先编译这个类。
当编译a.java的时候,javac会自动在-d 指定的目录,即classes目录中(或者如果没有指定-d选项,则在当前目录,即src目录中)中找到这个b.class。也就是相当于在编译a.java时,自动添加了-classpath classes选项(或者如果没有指定-d选项,则相当于添加了-classpath src选项)
唉,不知道讲清楚了没有~
c:\test\com\--hehe
--haha
com.hehe.abc.java,com.haha.def.java abc调用def
在编译的时候在com的上一层c:test\编译javac com\haha\def.java,当然按照类的执行顺序编译。即abc调用def则先编译def然后在编译abc,执行的时候要用-classpath引入所有要引用的jar包(我在windows的环境变量里面设置了jar的路径--一个一个加的,但是不起作用比如我的jar包在c:\test\lib\hij.jar在windows环境变量的classpath里面设置c:\test\lib\hij.jar还是不行)在c:\test执行com\hehe\abc就ok了。如果有谁能解决jar报引用的问题就好了。