我正在使用Java应用程序编写一个简单的程序(不是具有项目的应用程序,而是项目中的应用程序; .java),它具有单个框架.这两个文件都是.java,因此我无法编写JAR所需的清单.MyApp.java就像一个带有包的类,然后导入公共类MyApp {并且有一个main函数,但它仍然是.java!如果它有帮助我在JDeveloper 11g中写它...
有关如何从这些文件制作JAR的任何想法?
Big*_*ike 85
打开命令提示符.
转到您拥有.java文件的目录
创建目录构建
从命令行运行java编译
javac -d ./build *.java
如果没有错误,在构建目录中你应该有你的类树
移动到构建目录并执行
jar cvf YourJar.jar *
用于添加清单检查jar命令行开关
ab_*_*v86 27
只需使用命令行:
javac MyApp.java
jar -cf myJar.jar MyApp.class
当然IDE避免使用命令行终端
sar*_*son 12
好的,这是我想要找到的解决方案,而不是在这里我写它:
首先创建与.java文件定义的包对应的目录结构,如果是my.super.application则创建目录"my"并在其中"super",并在其中创建.java文件"App.java"
然后从命令行:
   javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java
注意上面将包含多个库,如果在windows下使用","分隔多个文件,否则在GNU/Linux下使用":"创建一个jar文件
   jar -cvfe App.jar App my/app/
上面将创建应用程序及其相应的Manifest,指示App为主类.
使用java或jar命令行参数无法在jar文件中包含所需的库.
你可以改为:
Run Code Online (Sandbox Code Playgroud)<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文件中找到file.reference名称.
通常你会想要指定一个清单,如下所示:
jar -cvfm myJar.jar myManifest.txt myApp.class
其中包括:"create verbose jarFilename manifestFilename",后跟您要包含的文件.详细信息表示打印有关其正在执行的操作的消息.
请注意,您提供的清单文件的名称可以是任何名称,因为jar它会自动重命名并将其放入jar文件中的正确目录中.
这可以在没有终端的情况下直接从IDE完成.例如,Netbeans.
小智 5
这是另一种奇特的方法:
$ ls | grep .java | xargs -I {} javac {} ; jar -cf myJar.jar *.class
它将ls | grep .java从当前目录获取所有 .java 文件 ( ) 并将它们编译为 .class ( xargs -I {} javac {}),然后从先前编译的类 ( jar -cf myJar.jar *.class) 创建 jar 文件。