新用户注册 | 会员登录
登录 极速注册
取消
热门标签 | HotTags
当前位置:   开发笔记 > 编程语言 > 正文

如何从.java创建JAR-HowdoImakeaJARfroma.java

IwaswritingasimpleprogramusingaJavaapplication(notapplicationthathasprojects,butappl

I was writing a simple program using a Java application (not application that has projects, but application within a project; .java) that has a single frame. Both of the files are .java so I can't write a manifest needed by the JAR. The MyApp.java starts like a class with package, imports then public class MyApp { and has a main function, but it's still .java! I'm writing it in JDeveloper 11g if it helps...

我正在使用Java应用程序编写一个简单的程序(不是具有项目的应用程序,而是项目中的应用程序; .java),它具有单个框架。这两个文件都是.java,因此我无法编写JAR所需的清单。 MyApp.java就像一个带包的类,然后导入公共类MyApp {并且有一个main函数,但它仍然是.java!如果它有帮助我在JDeveloper 11g中写它...

Any ideas how to make a JAR from these files?

有关如何从这些文件制作JAR的任何想法?

6 个解决方案

#1


61  

Open a command prompt.

打开命令提示符。

Go to the directory where you have your .java files

转到您拥有.java文件的目录

Create a directory build

创建目录构建

Run java compilation from the command line

从命令行运行java编译

javac -d ./build *.java

if there are no errors, in the build directory you should have your class tree

如果没有错误,在构建目录中你应该有你的类树

move to the build directory and do a

移动到构建目录并执行

jar cvf YourJar.jar *

For adding manifest check jar command line switches

用于添加清单检查jar命令行开关

#2


15  

Simply with command line:

只需使用命令行:

javac MyApp.java
jar -cf myJar.jar MyApp.class

Sure IDEs avoid using command line terminal

当然IDE避免使用命令行终端

#3


6  

Ok this is the solution I would have liked to find, instead here I write it:

好的,这是我希望找到的解决方案,而不是在这里我写的:

First create the directory structure corresponding to the package defined for the .java file, if it is my.super.application create the directory "my" and inside it "super" and inside it the .java file "App.java"

首先创建与.java文件定义的包对应的目录结构,如果它是my.super.application创建目录“my”并在其中“super”,并在其中创建.java文件“App.java”

then from command line:

然后从命令行:

   javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java

Notice the above will include multiple libraries, if under windows use "," to separate multiple files otherwise under GNU/Linux use ":" To create a jar file

注意上面将包含多个库,如果在windows下使用“,”分隔多个文件,否则在GNU / Linux下使用“:”创建一个jar文件

   jar -cvfe App.jar App my/app/

the above will create the application with its corresponding Manifest indicating the App as the main class.

上面将创建应用程序及其相应的Manifest,指示App为主类。

Including the required libraries inside the jar file is not possible using java or jar command line parameters.

使用java或jar命令行参数无法在jar文件中包含所需的库。

You can instead:

你可以改为:

  1. manually extract libraries to the root folder of the jar file
  2. 手动将库提取到jar文件的根文件夹
  3. use an IDE such as Netbeans and insert a rule inside post-jar section of nbproject/build-impl.xml to extract the libraries inside the jar. See below.
  4. 使用诸如Netbeans之类的IDE并在nbproject / build-impl.xml的post-jar部分中插入规则以提取jar中的库。见下文。

        
        
    
              
            
      
  
    

the file.reference names are found inside project.properties file after you added the libraries to the Netbeans IDE.

将库添加到Netbeans IDE后,可以在project.properties文件中找到file.reference名称。

#4


4  

This can be done without terminal, directly from IDE. Netbeans, for example.

这可以在没有终端的情况下直接从IDE完成。例如,Netbeans。

  1. Create a separate project with packages (Create Project - Java - Java Class Library).
  2. 使用包创建单独的项目(Create Project - Java - Java Class Library)。
  3. Put your .java classes there.
  4. 把你的.java类放在那里。
  5. Build this project.
  6. 建立这个项目。
  7. Go to your project folder and find build and dist folders there.
  8. 转到项目文件夹,在那里找到build和dist文件夹。
  9. Find .jar file in your dist folder.
  10. 在你的dist文件夹中找到.jar文件。
  11. Get your other project and add this .jar file to project libraries.
  12. 获取您的其他项目并将此.jar文件添加到项目库。
  13. You can now reference classes from this library and its methods directly from code, if import is automatically done for you.
  14. 现在,如果自动为您执行导入,您现在可以直接从代码中引用此库及其方法中的类。

#5


2  

Often you will want to specify a manifest, like so:

通常,您需要指定清单,如下所示:

jar -cvfm myJar.jar myManifest.txt myApp.class

Which reads: "create verbose jarFilename manifestFilename", followed by the files you want to include. Verbose means print messages about what it's doing.

其中包含:“create verbose jarFilename manifestFilename”,后跟您要包含的文件。详细信息表示打印有关其正在执行的操作的消息。

Note that the name of the manifest file you supply can be anything, as jar will automatically rename it and put it into the right directory within the jar file.

请注意,您提供的清单文件的名称可以是任何名称,因为jar会自动重命名它并将其放入jar文件中的正确目录中。

#6


0  

Here is another fancy way of doing this:

这是另一种奇特的方式:

$ ls | grep .java | xargs -I {} javac {} ; jar -cf myJar.jar *.class

Which will grab all the .java files ( ls | grep .java ) from your current directory and compile them into .class (xargs -I {} javac {}) and then create the jar file from the previously compiled classes (jar -cf myJar.jar *.class).

这将从当前目录中获取所有.java文件(ls | grep .java)并将它们编译为.class(xargs -I {} javac {}),然后从以前编译的类中创建jar文件(jar -cf myJar.jar * .class)。


  • java
  • jar
  • io
  • package
  • import
  • main
  • function
  • 文件
  • ide
推荐阅读
  • import

    vue使用

    vue使用
    关键词: ... [详细]
  • get

    YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程

    YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • get

    在类中定义数组时出错 - Error on defining arrays in class

    Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • get

    Spring源码解密之默认标签的解析方式分析

    Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • get

    WinPythonHadoop在Win10上安装教程

    本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • get

    关于cuowu类的错误提示和使用AdjustmentListener的问题

    本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • get

    在Windows 8上安装gvim中的插件的错误加载问题

    本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • get

    C++省略号类型和参数个数不确定函数参数范例

    本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
  • get

    Open judge C16H: Magical Balls 快速幂+逆元问题解析

    本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • string

    差分约束系统求解House Man跳跃问题的思路与方法

    本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • get

    Hibernate基础映射

    在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • get

    SpringBoot集成前端模版(thymeleaf)的配置步骤

    本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • post

    Spring 3.1:数据源未自动连接到@Configuration类的错误原因及解决方法

    本文讨论了在Spring 3.1中,数据源未能自动连接到@Configuration类的错误原因,并提供了解决方法。作者发现了错误的原因,并在代码中手动定义了PersistenceAnnotationBeanPostProcessor。作者删除了该定义后,问题得到解决。此外,作者还指出了默认的PersistenceAnnotationBeanPostProcessor的注册方式,并提供了自定义该bean定义的方法。 ... [详细]
  • string

    XML介绍与使用的概述及标签规则

    XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • string

    输出1000内能被3整除且个位数为6的所有整数的程序填充

    本文介绍了一个程序,可以输出1000内能被3整除且个位数为6的所有整数。程序使用了循环和条件判断语句来筛选符合条件的整数,并将其输出。 ... [详细]
author-avatar
禾漾啊
这个家伙很懒,什么也没留下!
Tags | 热门标签
  • utf-8
  • config
  • loops
  • request
  • foreach
  • triggers
  • object
  • less
  • import
  • hash
  • blob
  • golang
  • string
  • match
  • post
  • netty
  • datetime
  • bit
  • erlang
  • lua
  • python3
  • uri
  • heap
  • typescript
  • grid
  • heatmap
  • get
  • yaml
  • express
  • filter
RankList | 热门文章
  • 1 Java之RandomAccessFile随机读写类
  • 2 《UnityAPI.HingeJoint铰链关节》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Unity+HingeJoint+useMotor+立钻哥哥++OK++)
  • 3 从qwb重新学习sql和SSTI
  • 4 Java基础07 包
  • 5 OkHttp3 源码解读
  • 6 org.jboss.beans.info.spi.BeanInfo.getJoinpointFactory()方法的使用及代码示例
  • 7 HTMLCSS相关(2)
  • 8 mysql如何根据某个字段的值进行循环排序?
  • 9 CUBRID学习笔记 22 插入数据
  • 10 开发笔记:JavaScript变量作用域
  • 11 远程访问linux安装mysql_Linux服务器安装MYSQL,并开启远程访问
  • 12 DM8(达梦8)数据库安装和使用
  • 13 不要怂,就是GAN(生成式对抗网络)(四):训练和测试GAN
  • 14 Azure SQL Database (24) 使用新管理界面,创建跨数据中心标准地域复制(Standard Geo-Replication)
  • 15 式子_矩阵快速幂EOJ EOJ Monthly 2021.9 Sponsored by TuSimple A. Amazing Discovery
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有
     

深圳SEO优化公司朔州关键词按天扣费多少钱大同品牌网站设计公司衡阳模板网站建设价格盐城企业网站设计多少钱娄底百姓网标王推广永湖网站推广方案多少钱梅州优秀网站设计公司长沙企业网站设计哪家好荷坳网站优化价格爱联网站优化推广价格铁岭网站设计哪家好楚雄百度seo报价鞍山网站推广推荐汉中网站优化按天计费多少钱鹤壁SEO按天计费多少钱罗湖企业网站设计报价武汉网站改版多少钱唐山网站关键词优化哪家好鄂州网站建设公司锦州百度竞价价格宝鸡网站开发赣州网站建设设计报价汉中模板制作多少钱淄博至尊标王鹤壁企业网站制作哪家好坑梓网站推广系统公司焦作营销型网站建设价格东莞网站推广多少钱果洛网络广告推广价格金华网站改版多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化