如何从.java制作JAR
我正在编写一个简单的程序,使用一个具有单个框架的Java应用程序(不是具有项目的应用程序,而是项目中的应用程序; .java)。 这两个文件都是.java,所以我不能编写JAR所需的清单。 MyApp.java的启动就像一个带有包的类,然后导入public class MyApp {并且有一个主函数,但仍然是.java! 如果有帮助,我将它写入JDeveloper 11g中。
任何想法如何从这些文件做一个JAR?
打开命令提示符。
转到你有你的.java文件的目录
创build一个目录构build
从命令行运行java编译
javac -d ./build *.java
如果没有错误,在build目录中你应该有你的类树
移动到build立目录,并做一个
jar cvf YourJar.jar *
用于添加清单检查jar命令行开关
只需使用命令行:
javac MyApp.java jar -cf myJar.jar myApp
确保IDE避免使用命令行terminal
好吧,这是我希望find的解决scheme,而是在这里我写:
首先创build与为.java文件定义的包相对应的目录结构,如果是my.super.application,则创build目录“my”,并在其中添加“super”,并在其中添加.java文件“App.java”
然后从命令行:
javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java
注意上面将包括多个库,如果在windows下使用“,”来分隔多个文件,否则在GNU / Linux下使用“:”来创build一个jar文件
jar -cvfe App.jar App my/app/
上面将创build应用程序及其相应的Manifest,指示App作为主类。
在jar文件中包含所需的库是不可能的,使用java或jar命令行参数。
你可以改为:
- 手动将库提取到jar文件的根文件夹
- 使用Netbeans之类的IDE,并在nbproject / build-impl.xml的post-jar部分中插入一个规则来提取jar中的库。 见下文。
<target name="-post-jar"> <!-- Empty placeholder for easier customization. --> <!-- You can override this target in the ../build.xml file. --> <jar jarfile="${dist.jar}" update="true"> <zipfileset src="${dist.jar}" includes="**/*.class" /> <zipfileset src="${file.reference.iText-1.0.8.jar}" includes="**/*"/> <zipfileset src="${file.reference.itextpdf-3.2.1.jar}" includes="**/*"/> </jar> </target>
将库添加到Netbeans IDE后,可以在project.properties文件中findfile.reference名称。
这可以在没有terminal的情况下直接从IDE完成。 Netbeans,例如。
- 使用包创build一个单独的项目(Create Project – Java – Java Class Library)。
- 把你的.java类放在那里。
- build立这个项目。
- 转到您的项目文件夹,并find构build和dist文件夹。
- 在dist文件夹中find.jar文件。
- 获取你的其他项目,并将这个.jar文件添加到项目库。
- 您现在可以直接从代码中引用此库及其方法中的类,如果自动为您执行导入。
通常你会想要指定一个清单,如下所示:
jar -cvfm myJar.jar myManifest.txt myApp.class
其中的内容如下:“创build详细的jarFilename manifestFilename”,然后是要包含的文件。 详细的意思是打印关于它在做什么的消息。
请注意,您提供的清单文件的名称可以是任何内容,因为jar
会自动将其重命名并将其放入jar文件的正确目录中。