2011-02-25 56 views
23

如何在不使用NetBeans IDE的情况下在我的java程序中导入库? 在NetBeans我做这种方式: enter image description here如何在不使用IDE的情况下在java中包含库

我如何可以通过只使用记事本++或程序员的记事本实现同样的事情。 尽可能多的我不想使用Netbeans,因为它只会在简单的项目上工作,因为它会过度杀伤。

回答

25
javac -classpath external.jar myClass.java 

编辑:

如果你的主类是在一个包

package com.mycompany; 
public class myClass 
{ 
... 
... 

然后

你需要

javac -classpath external.jar com/mycompany/myClass.java 

运行

java -classpath external.jar com.mycompany.myClass 
+0

线程“main”中的异常java.lang.NoClassDefFoundError:Quizzer 导致:java.lang.ClassNotFoundException:Quizzer at java.net.URLClassLoader $ 1.run(未知源) at java.security.AccessController.doPrivileged(Native法) 在java.net.URLClassLoader.findClass(来源不明) 在java.lang.ClassLoader.loadClass(来源不明) 在sun.misc.Launcher $ AppClassLoader.loadClass(来源不明) 在java.lang.ClassLoader中.loadClass(未知来源) 找不到主要类:Quizzer。程序将会退出。 – user225269 2011-02-25 03:46:19

+0

你的主类是否有包名? – 2011-02-25 03:52:45

+0

@StackOverflowError - 您还需要'java'命令中的'-classpath'参数。 – 2011-02-25 03:57:30

2

把jar放到类路径,类路径是一个环境变量

+0

classpath *可以通过环境变量来指定,但最好的做法是使用'-classpath'。 – 2011-02-25 01:38:39

1

确保jar文件在类路径中,你有import语句。

8

除了@ StackOverflowException的帖子添加多个文件和位置是prefectly也没关系......

javac -cp location1/;location2/;file1.jar;file2.jar fileToCompile 

注释:

-cp和-classpath是一样的。 如果您在Solaris(以及其他一些UNIX版本)上更改';'到':'

6

所有其他海报都是现货,你只需要将jar添加到你的类路径。

Java提供了设置类路径,包括通过命令行许多机制,通过环境变量,并通过一个可执行的Java jar文件的MANIFEST.MF设置它。

这些都是脖子上的痛苦管理。了解这项技术并理解基础知识是很好的。但实际使用它们确实是一个糟糕的主意。

你应该做的是这样的。首先,将所有的Java库放在系统中的一个地方。 C:\ java \ libraries,或其他。您记得的某个地方,您所有项目都可以访问的地方。

接下来,使用它们的版本号命名所有库。如果您使用log4j v1.4.1,那么将该jar放入库区域的log4j-1.4.1目录中。这给你“免费”库版本。

最后,学习Ant。对于简单的项目,Ant很简单。使用Ant build.xml文件来编译,测试和运行您的应用程序。

为什么?几个原因。

因为一旦设置完成,向项目中添加一个新库就变得很简单,您可以在build.xml中添加一行。 Ant可以让你更轻松地处理简单的抽象(比如你的所有库都位于哪里)。

build.xml是自包含的。如果您使用类路径的环境变量,那么一个项目的类路径可能与另一个项目的类路径不同。这意味着重置环境变量。继续这样做,当你的类路径设置错误时,你最终会发出一些“以前工作过的”新问题。在build.xml中设置一次,并忘记它。

蚂蚁是便携式的。它在Windows上,在Linux上,在Mac上,在AS/400上运行,在Java运行的任何地方运行,不像shell脚本或BAT文件。

它轻巧。简单的蚂蚁脚本很简单。他们不会带来很多包袱,你总是可以让他们变得非常复杂。对于构建而言,它比Maven简单得多。

大多数IDE都直接支持Ant。如果你决定回到IDE,大部分可以简单地使用你的ant构建文件,只需要最少的配置。

这就是你用记事本++解决你的类路径问题的方法。设置类路径是有效的,但是它不够远,管理和管理是一件痛苦的事情。学习蚂蚁的基础知识将使你在极少工作的情况下走得更远。

+0

这可能工作。但将所有的JAR文件转储到一个地方并不是最佳实践。 – 2011-02-25 03:59:58

3

你应该把它们放在你的classpath中,像

java -classpath someJar.jar YourMainClass

,当然,你可以为javac这样做。

如果您需要在类路径中包含多个jar或目录,则需要使用平台的默认路径分隔符。例如,在Windows上,

java -classpath someJar.jar;myJar.jar YourMainClass

在一个侧面说明,你可能会发现它更容易使用的IDE来管理这类的东西。我个人使用的只是我的略带脚本的编辑器,并且管理得很好。但很高兴知道如何通过命令行来完成这些任务。

相关问题