带有外部 .jar 的 Java 命令行
我使用 .jar 开发一个项目来重用代码。
所以我有一个名为 TOOLS.jar 的 .jar,并且我在文件 HelloWorld.java 中开发了一个简单的应用程序,该应用程序从 TOOLS.jar 引用我的包 TOOLS
我使用此命令行进行编译:
javac -g -d C:\MyApp -cp TOOLS.jar HelloWorld.java
它成功了,当我想执行我的应用程序时,我使用此命令(我位于 C:\MyApp 文件夹中):
java -cp <path>\TOOLS.jar;. HelloWorld
它是成功的,但我的问题是:
当我有多个外部 .jar 文件时,如何执行我的应用程序?
我是否必须使用 -cp 选项在命令中添加每一项?
有没有一种方法只生成一个二进制文件并执行它(如 C 程序的 .exe)?
I develop a project using .jar to reuse code.
So I have on .jar named TOOLS.jar, and I develop a simple application in file HelloWorld.java which refer my package TOOLS from TOOLS.jar
I compile with this command line:
javac -g -d C:\MyApp -cp TOOLS.jar HelloWorld.java
It's successful, and when I want to execute my application I use this command (I'm in C:\MyApp folder):
java -cp <path>\TOOLS.jar;. HelloWorld
It's successful, but my question is:
How do I execute my application when I have multiples external .jar files?
Do I have to add each one in command with -cp option?
Is there a way to generate only one binary file and execute it (as .exe with C programs)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将每个 jar 文件参数连接到 cp:
例如,
在较新的 JVM(我认为是 6+)上,您还可以使用 * 将所有 JAR 附加到目录中,例如
要更进一步并创建单个打包的可执行文件,请参阅 这个问题。
Concatenate each jar file argument to cp with:
e.g.
on newer JVMs (6+, I think) you can also use the * to append all JARs in a directory e.g.
To go a step further and create a single packaged executable see this question.
如果一个文件夹中有许多 jar 文件,并且不想手动将它们附加到类路径中。您可以在 Windows 上使用 .bat,在 Linux 上使用 shell。
来自 tomcat 的 cpappend.bat
和另一个使用“for”语句将所有 jar 文件附加到类路径的 bat 文件
If you have many jar files in one folder and don't want to append them to classpath manually. You can you a .bat on windows or shell on linux.
cpappend.bat from tomcat
And another bat file which use "for" statement to append all the jar file to classpath