`
fantaxy025025
  • 浏览: 1308673 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Java_Jar_命令的使用

阅读更多

参考文章:

http://caterpillar.onlyfun.net/Gossip/JavaEssence/SourceClassInJAR.html

http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/ExecutableJAR.htm

 

补充:

如果在windows下调试,制作manifest 文件需要注意两个地方:

1. 行尾必须有一个回车换行符

2. Main-Class:后加入1个空格然后再加入自己的Main_Class完整名称

否则报错:

D:\workplace\Test>jar cvfm test.jar mymanifest.txt -C %PJ%\bin com
java.io.IOException: invalid header field
        at java.util.jar.Attributes.read(Attributes.java:393)
        at java.util.jar.Manifest.read(Manifest.java:167)
        at java.util.jar.Manifest.<init>(Manifest.java:52)
        at sun.tools.jar.Main.run(Main.java:123)
        at sun.tools.jar.Main.main(Main.java:903)

 

这个浪费我一个小时,呵呵,以后估计老师会把这个提示加上去了(已经发了email)。

 

另外附上自己的测试例子:

/*
set PJ=D:\workplace\Test
d:
cd %PJ%
mkdir %PJ%\bin
cd src/com/june/study/main
javac -sourcepath %PJ%\src -d %PJ%\bin Hello.java
cd %PJ%\bin
java com.june.study.main.Hello

cd ..
jar cvf test.jar -C %PJ%\bin com

java -cp test.jar com.june.study.main.Hello


notepad manifest.txt
input:Main-Class: com.june.study.main.Hello
jar cvfm test.jar manifest.txt -C %PJ%\bin com
*/

package com.june.study.main;

import com.june.study.message.Message;

public class Hello {

    public static void main(String[] args) {
        Message msg1 = new Message("msg1");
        Message msg2 = new Message("msg2");
        System.out.println("msg1:" + msg1.getMsg());
        System.out.println("msg2:" + msg2.getMsg());
    }
}

package com.june.study.message;

public class Message {
    private String msg;

    public Message(String msg) {
        this.msg = msg;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}

 

分享到:
评论

相关推荐

    Java_Jar包

    运行JAR文件,可以用`java -jar`命令。 7. **类路径(Classpath)**:在Java环境中,JAR文件需要被添加到类路径中,才能被Java虚拟机识别并加载。这可以通过环境变量、命令行参数或程序内部设置来完成。 8. **依赖...

    java_jar包

    2. 导入JAR:在Java项目中,可以通过`&lt;classpath&gt;`元素在构建路径中添加JAR,或者使用`Class.forName()`和`ClassLoader`来动态加载JAR中的类。 开发过程中,理解并熟练使用JAR包是Java程序员的基本技能。正确地组织...

    Java环境配置与设置JAVA_HOME_CLASSPATH_PATH的目的

    在命令行中输入 javac 或 java 命令时,操作系统需要知道 javac.exe 或 java.exe 文件的位置,因此需要将 JAVA_HOME 环境变量设置为 JDK 的安装目录,以便操作系统可以找到 javac.exe 或 java.exe 文件。 二、...

    java_jar打包_合并打包示例.rar

    3. **执行jar命令**:使用`jar`命令进行打包,例如: ``` jar cmf MANIFEST.MF myApp.jar staff源码/* ``` 其中,`c`表示创建新的JAR文件,`m`表示使用指定的MANIFEST.MF文件,`f`表示指定JAR文件名。 三、合并...

    JAVA_SET_enviroment

    在Java环境中,我们需要添加`%JAVA_HOME%\bin`到`PATH`,这样系统就能在任何地方执行Java命令,如`java`, `javac`, `jar`等。 3. **CLASSPATH**: 它告诉Java虚拟机(JVM)去哪里寻找类文件。默认情况下,JVM会在...

    Java_jdk1.8.0_241 环境变量

    它们提供了关于Java SE 8的所有类、接口、方法和异常的详细信息,帮助开发者了解如何使用Java SDK的各种功能。 综上所述,正确设置Java JDK 1.8.0_241的环境变量是确保Java程序正常运行和开发的前提。理解并熟练...

    java_sqlserver2005_jar

    在Java中,使用JDBC可以实现数据查询、插入、更新和删除等操作。对于SQL Server 2005,Microsoft 提供了对应的JDBC驱动,使得Java程序能够无缝地与SQL Server数据库进行通信。 标题 "java_sqlserver2005_jar" 暗示...

    sh脚本启动java -jar

    - 最后一行的`java`命令是执行Java应用的关键,它使用设定的JVM参数和JAR文件路径来启动应用。 为了使脚本可执行,你需要使用`chmod`命令赋予其执行权限: ```bash chmod +x script.sh ``` 然后,你可以通过运行`...

    五子棋_java_五子棋JAR_

    JAR文件可以直接通过`java -jar`命令执行。 了解以上知识点后,你可以尝试打开提供的压缩包文件"五子棋",从中学习代码结构,查看如何将这些理论应用于实际的项目中。这将有助于深化对Java编程、GUI设计和游戏逻辑...

    把java文件打包成.jar_(jar命令详解).doc

    ### Java 文件打包成 .jar 文件及 jar 命令详解 #### 一、jar 命令概述 在 Java 开发中,经常会遇到需要将多个类文件或者资源文件打包成一个单独的 `.jar` 文件的需求。`.jar` 文件类似于 `.zip` 文件,是一种将多...

    Linux_Java_path_设置.

    - **环境变量引用**:在Linux下,可以使用`export JAVA_HOME=/usr/local/jdk`等方式设置环境变量,并在其他变量中引用,例如`PATH`中使用`$JAVA_HOME/bin`。 #### 六、总结 正确配置Java环境变量是Java开发者的基础...

    java_made-Jar-and-exe-file.rar_jar exe_made

    可以通过`java -jar jarfilename.jar`命令来运行JAR文件,这里`-jar`参数告诉Java虚拟机直接从JAR文件中加载类。 4. **将JAR转换为EXE**: 对于Windows用户,JAR文件不能直接双击运行,需要将其转换为EXE。这通常...

    java生成Jar文件命令

    在Java开发过程中,将源代码编译成可执行的...总的来说,Java生成Jar文件是一个常见的任务,理解并掌握`jar`命令的使用对于Java开发者来说非常重要。通过熟练运用这些命令,你可以更高效地管理和分发你的Java应用程序。

    Shell执行/调用Java/Jar程序例子

    要从Shell脚本中执行Java JAR文件,可以使用以下命令: ```bash java -jar path_to_your_jar_file.jar ``` 其中`path_to_your_jar_file.jar`是JAR文件的实际路径。 4. **传递参数** 如果JAR文件需要命令行...

    deploy_java_win服务器jar发布程序_

    1. **环境准备**:确保服务器上安装了Java Development Kit (JDK),因为JRE(Java Runtime Environment)仅用于运行Java程序,而JDK还包含了编译和管理Java应用程序的工具,如`java`和`jar`命令。 2. **上传JAR文件...

    百度翻译源码java-translation_utils_jar:translation_utils_jar

    在项目根目录下运行如下命令查看效果 gradle clean; gradle build; java -jar build/libs/translation_utils_jar-1.0.jar -f test.xml; cat out/strings.xml; echo "=====&gt; origin string.xml file:"; cat test.xml ...

    smpp.rar_SMPP jar_SMPP java_smpp_smpp send ja_smpp3.4 java

    这个“smpp.rar”压缩包包含了用于Java环境中实现SMPP协议的相关资源,特别是“smppapi-0.3.7.jar”,这是一个Java库,提供了与SMPP服务器进行交互的功能。 首先,让我们深入理解SMPP协议。它是由Global System for...

    CRMEB_JAVA_SY_v2.0(20211225)版商城系统 客户管理+电商营销系统

    在 jar包同级目录下运行 start.sh (运行命令为 ./start.sh ) 脚本即可启动项目 shell脚本会自动运行 tail -f crmeb_out.file 命令输出当前启动日志 看到 Completed 200 OK 表示启动成功 默认启动 20000 端口号

    json_comparator_jar.zip

    安装完成后,确保`JAVA_HOME`环境变量已设置,并且`java`命令可以在命令行中正常使用。 接下来,解压“json_comparator_jar.zip”文件,会得到一个名为“json_comparator_jar”的文件。这个文件很可能是Java的可...

    paas_cloud_jar_sql.zip

    【描述】提及的“私有jar”指的是专为PaaScloud项目定制或编译的Java库文件,这些文件可能包含了项目的特定功能模块,如业务逻辑、数据访问层、安全控制等。在部署PaaScloud项目时,这些jar文件是运行环境不可或缺的...

Global site tag (gtag.js) - Google Analytics