gpt4 book ai didi

java - 使用批处理程序编译Jar文件

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:53 26 4
gpt4 key购买 nike

我正在开发一个程序,它本质上生成另一个java程序。该程序生成一些文件夹、一个java类,然后生成一个批处理文件来编译新生成的程序。

这是如何生成内容的布局

Root folder (PluginGenerator in my case)
PluginGenerator (Program which creates the new program)
Bukkit.jar (Compiled with new classes)
Compiler.bat (gets created when new program is generated)
data.txt (not used)

New project/program folder (HelloPlugin in my case)
data folder
plugin.yml (to be compressed into jar)
com
package
generated class file (HelloPlugin in my case)
output folder (.jar file needs to be created here)

因此,一旦生成了 Hello 类,就会在根文件夹中生成一个批处理文件。批处理文件需要将HelloPlugin.java编译成class文件,并将包(com.pack)与plugin.yml一起放入jar中。

包含所有内容的根文件夹的位置可以在我的 java 程序中找到,并用于在批处理文件中写入正确的目录。

我知道我可以使用内置的 JavaCompile 来编译文件,但我想这样做是为了好玩。

除了批处理文件之外,一切正常。该类被编译,但它创建的 jar 只包含带有 list 的 META-INF 文件夹,但不包含包含该类的 plugin.yml 或包。

我没有批处理或使用 CommandPrompt 进行编译的经验,所以我不确定为什么它不起作用。

这是生成的批处理文件

@echo off
javac -cp C:/Users/Aiden/Desktop/PluginGenerator/Bukkit.jar C:/Users/Aiden/Desktop/PluginGenerator/HelloPlugin/data/com/pack/HelloPlugin.java
jar cf C:/Users/Aiden/Desktop/PluginGenerator/HelloPlugin/output/HelloPlugin.jar C:/Users/Aiden/Desktop/PluginGenerator/HelloPlugin/data/plugin.yml C:/Users/Aiden/Desktop/PluginGenerator/HelloPlugin/data/com
pause

编辑我想我可能已经把我的整个C盘都装进了jar里。虽然这需要很长时间才能压缩到 jar 里,所以这并不是完全想要的事情发生。

无论如何,他是 jar 里的东西的照片。

http://tinypic.com/r/i6frcj/8

最佳答案

我修复了它,但在 jar 命令之前使用“cd C:/Users/Aiden/Desktop/PluginGenerator/HelloPlugin/data/”。然后,我将 jar 命令更改为“jar cf C:/something/somethingelse/output/HelloPlugin.jar plugin.yml com”。

关于java - 使用批处理程序编译Jar文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22373967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com