4

我对 Java 很陌生。我有一个用于进行一些处理的类文件。

该类文件依赖于jar. 我对 Java 很陌生jar ,我在运行程序时将其传递给我的类路径:

javac -classpath jar MyProgram.java

现在我希望将jar和捆绑MyProgram到单独的 jar 中,并解决依赖关系。

有没有办法在 Java 中做到这一点?请注意,我的MyProgramjava 只有大约 50 行代码,所以一些简单的解决方案会很好。

提前致谢。

4

3 回答 3

5

您不能将库 JAR 放在另一个 JAR 文件中 - Java 将无法从嵌入式 JAR 文件加载类。

您可以创建一个仅包含应用程序类的 JAR 文件,并将 JAR 库放在它旁边。有关如何准确执行此操作的详细信息,请参阅在 JAR 文件中打包程序。

如果您真的希望所有内容都在一个 JAR 文件中,则可以使用One-JAR之类的工具对其进行打包。

于 2012-10-04T08:17:25.460 回答
3

您不应将已编译的代码和依赖项捆绑在单独的 jar 中。您应该只将已编译的类捆绑在 jar 中,并且在运行程序时,将 jar 和依赖项都放在类路径中。

使用 jar 命令构建您的 jar 文件,然后使用以下命令运行您的程序:

java -classpath dependecy.jar;yourjar.jar MyProgram
于 2012-10-04T08:16:42.553 回答
0

只需您可以使用它

java -cp your-jar-file.jar yourclass  

有关 Class-Path 的更多信息,请使用此链接PATH 和 CLASSPATH

于 2012-10-04T08:20:19.727 回答