目录
1.最简单的打jar包方式
我们创建一个java文件,打成jar,并运行它,执行完所有操作后,文件展示如下
我们首先创建一个文件夹 Hello,文件夹下新建一个Hello.java,内容如下
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
我们在文件所在目录,cmd执行 javac Hello.java,生成class文件,生成的class放到Hello文件夹下面
编写 MANIFEST.MF 文件,文件内容如下
Manifest-Version: 1.0
Created-By: 1.8.0_102 (Oracle Corporation)
Main-Class: Hello
网上都说要格外空一行
控制台执行命令
jar cvfm Hello.jar MANIFEST.MF -C Hello/ .
这个时候就能看到生成的 jar包了,执行命令 java -jar Hello.jar,可以看到输出了Hello world
2. maven打包问题
工作中,我们总会写各种各样的common包,然后打成jar包,放到私服上去,让其他的工程能进行引用
这里我写了一个 common-feign的 common包,
pom文件指定一下编译器,compiler,构建,引申就是编译的意思,
为什么要指定编译器,大家可以参考,https://www.jianshu.com/p/3c75b3225724
其实是为了指定jdk版本,防止字符集乱码等,我这里如果不指定,install的时候,Language level会莫名变成 5,不是8
那为什么要编译呢,最初学习c语言的时候,我记的是,为了生成机器可识别的可执行文件
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <!-- 源代码使用的JDK版本 --> <target>1.8</target><!-- 需要生成的目标class文件的编译版本 --> <encoding>UTF-8</encoding><!-- 字符集编码,防止中文乱码 --> </configuration> </plugin> </plugins> </build>
然后 install 一下,就能生成jar包了。
生成jar包的位置在哪,在你配置maven的setting.xml里的 localRepository标签 里面
<localRepository>D:\softwareinstall\respository</localRepository>
我的pom文件里配置如下
<parent> <artifactId>taier-common</artifactId> <groupId>com.taier</groupId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>taier-common-feign</artifactId>
生成的jar位置