当前位置: 首页 > 面试题库 >

带有外部.jar的Java命令行

竺绍辉
2023-03-14
问题内容

我使用.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)?


问题答案:

将每个jar文件参数与cp连接起来:

; on Windows
: on Linux or Mac

例如

java -cp <path>\TOOLS.jar;.;<path>\jar2.jar;<path>\jar3.jar HelloWorld

在较新的JVM(我认为是6+)上,您还可以使用*将所有JAR附加到目录中,例如

java -cp .;<path>\*; HelloWorld

要更进一步并创建一个打包的可执行文件,请参阅此问题。



 类似资料:
  • 我一直在尝试将jar转换为exe。该程序(jar)使用蓝牙库“Bluecove”,这是某个目录中的另一个jar。该程序还使用Java Swing,通常是JFrame等。当从Netbeans或Eclipse中运行时,该程序运行良好。现在是我部署它的时候了,因此我需要将其转换为exe。但我一直无法让最终的可执行文件与“Bluecove”链接。我尝试了JSmooth和Launch4j,但是使用这两个工具

  • 当我尝试在windows上的命令行中运行“jar”命令时,遇到以下错误:“jar”不能识别为内部或外部命令 一般的解决方案似乎是我需要将jdk bin文件夹添加到环境变量中的路径中。我已经这样做了,我在路径变量中添加了以下内容:...;C:\Program Files\java\jdk1.8.0_40\bin\;

  • Vim遵循UNIX哲学"做一件事,做好它"。 与其试图集成你可能想要的功能到编辑器自身,更好的办法是在适当时使用Vim来调用外部命令。 让我们在插件中添加一些跟Potion编译器交互的命令,来浅尝在Vim里面调用外部命令的方法。 编译 首先我们将加入一个命令来编译和执行当前Potion文件。 有很多方法可以实现这一点,不过我们暂且用外部命令简单地实现。 在你的插件的repo中创建potion/ft

  • 注意:test.class文件也使用了example.jar文件中的类文件,有自己的包结构。 我知道我可以将它们放在一个jar文件中,不幸的是我需要将test.class文件分开。

  • 我打开了快照中包含MyApplicationJobDTO的jar,并验证了该文件是否存在。 在运行时,java似乎找不到该类,即使该类在那里。我不认为我应该向java类路径添加任何内容,因为jar位于快照jar中。我被困住了,不确定为什么我会得到运行时错误。 用其注释初始化

  • 问题:在调试模式下,我可以毫无问题地运行测试计划,但在无gui中,解析对文件的访问时出现问题,看起来像是属性文件。以下是详细信息: jmeter.logs2018-08-31 13:26:30,831错误o.a.j.t.JMeterThread:测试失败!java.lang.IllegalArgumentException:文件2必须存在并且在org.apache.jmeter.services.