参考文章:
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;
}
}
分享到:
相关推荐
运行JAR文件,可以用`java -jar`命令。 7. **类路径(Classpath)**:在Java环境中,JAR文件需要被添加到类路径中,才能被Java虚拟机识别并加载。这可以通过环境变量、命令行参数或程序内部设置来完成。 8. **依赖...
2. 导入JAR:在Java项目中,可以通过`<classpath>`元素在构建路径中添加JAR,或者使用`Class.forName()`和`ClassLoader`来动态加载JAR中的类。 开发过程中,理解并熟练使用JAR包是Java程序员的基本技能。正确地组织...
在命令行中输入 javac 或 java 命令时,操作系统需要知道 javac.exe 或 java.exe 文件的位置,因此需要将 JAVA_HOME 环境变量设置为 JDK 的安装目录,以便操作系统可以找到 javac.exe 或 java.exe 文件。 二、...
3. **执行jar命令**:使用`jar`命令进行打包,例如: ``` jar cmf MANIFEST.MF myApp.jar staff源码/* ``` 其中,`c`表示创建新的JAR文件,`m`表示使用指定的MANIFEST.MF文件,`f`表示指定JAR文件名。 三、合并...
在Java环境中,我们需要添加`%JAVA_HOME%\bin`到`PATH`,这样系统就能在任何地方执行Java命令,如`java`, `javac`, `jar`等。 3. **CLASSPATH**: 它告诉Java虚拟机(JVM)去哪里寻找类文件。默认情况下,JVM会在...
它们提供了关于Java SE 8的所有类、接口、方法和异常的详细信息,帮助开发者了解如何使用Java SDK的各种功能。 综上所述,正确设置Java JDK 1.8.0_241的环境变量是确保Java程序正常运行和开发的前提。理解并熟练...
在Java中,使用JDBC可以实现数据查询、插入、更新和删除等操作。对于SQL Server 2005,Microsoft 提供了对应的JDBC驱动,使得Java程序能够无缝地与SQL Server数据库进行通信。 标题 "java_sqlserver2005_jar" 暗示...
- 最后一行的`java`命令是执行Java应用的关键,它使用设定的JVM参数和JAR文件路径来启动应用。 为了使脚本可执行,你需要使用`chmod`命令赋予其执行权限: ```bash chmod +x script.sh ``` 然后,你可以通过运行`...
JAR文件可以直接通过`java -jar`命令执行。 了解以上知识点后,你可以尝试打开提供的压缩包文件"五子棋",从中学习代码结构,查看如何将这些理论应用于实际的项目中。这将有助于深化对Java编程、GUI设计和游戏逻辑...
### Java 文件打包成 .jar 文件及 jar 命令详解 #### 一、jar 命令概述 在 Java 开发中,经常会遇到需要将多个类文件或者资源文件打包成一个单独的 `.jar` 文件的需求。`.jar` 文件类似于 `.zip` 文件,是一种将多...
- **环境变量引用**:在Linux下,可以使用`export JAVA_HOME=/usr/local/jdk`等方式设置环境变量,并在其他变量中引用,例如`PATH`中使用`$JAVA_HOME/bin`。 #### 六、总结 正确配置Java环境变量是Java开发者的基础...
可以通过`java -jar jarfilename.jar`命令来运行JAR文件,这里`-jar`参数告诉Java虚拟机直接从JAR文件中加载类。 4. **将JAR转换为EXE**: 对于Windows用户,JAR文件不能直接双击运行,需要将其转换为EXE。这通常...
在Java开发过程中,将源代码编译成可执行的...总的来说,Java生成Jar文件是一个常见的任务,理解并掌握`jar`命令的使用对于Java开发者来说非常重要。通过熟练运用这些命令,你可以更高效地管理和分发你的Java应用程序。
要从Shell脚本中执行Java JAR文件,可以使用以下命令: ```bash java -jar path_to_your_jar_file.jar ``` 其中`path_to_your_jar_file.jar`是JAR文件的实际路径。 4. **传递参数** 如果JAR文件需要命令行...
1. **环境准备**:确保服务器上安装了Java Development Kit (JDK),因为JRE(Java Runtime Environment)仅用于运行Java程序,而JDK还包含了编译和管理Java应用程序的工具,如`java`和`jar`命令。 2. **上传JAR文件...
在项目根目录下运行如下命令查看效果 gradle clean; gradle build; java -jar build/libs/translation_utils_jar-1.0.jar -f test.xml; cat out/strings.xml; echo "=====> origin string.xml file:"; cat test.xml ...
这个“smpp.rar”压缩包包含了用于Java环境中实现SMPP协议的相关资源,特别是“smppapi-0.3.7.jar”,这是一个Java库,提供了与SMPP服务器进行交互的功能。 首先,让我们深入理解SMPP协议。它是由Global System for...
在 jar包同级目录下运行 start.sh (运行命令为 ./start.sh ) 脚本即可启动项目 shell脚本会自动运行 tail -f crmeb_out.file 命令输出当前启动日志 看到 Completed 200 OK 表示启动成功 默认启动 20000 端口号
安装完成后,确保`JAVA_HOME`环境变量已设置,并且`java`命令可以在命令行中正常使用。 接下来,解压“json_comparator_jar.zip”文件,会得到一个名为“json_comparator_jar”的文件。这个文件很可能是Java的可...
【描述】提及的“私有jar”指的是专为PaaScloud项目定制或编译的Java库文件,这些文件可能包含了项目的特定功能模块,如业务逻辑、数据访问层、安全控制等。在部署PaaScloud项目时,这些jar文件是运行环境不可或缺的...