JAVA:将java程序打包成jar文件

时间:2021-09-13 12:08:44

将java工程打包为jar文件,工程里面写有一个java程序,程序里面有main函数,既可以通过参数进行调用,而该java程序依赖其它包,现希望将java程序连通依赖包一起打包成一个jar,这样可以通过windows命令行进行访问和操作,具体如下:

1.参考https://blog.csdn.net/itsenlin/article/details/51419639中章节1的说明,修改工程所在的pom.xml文件,加入如下黄色区域的代码,另外修改红色字体的部分,红色部分表示的是main文件所在的路径

<build>
  <resources>
    <resource>
      <directory>src/main/resources</directory>
      <filtering>true</filtering>
    </resource>
  </resources>
  <plugins>
      <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
              <systemPropertyVariables>
                  <java.util.logging.config.file>src/test/resources/logging.properties</java.util.logging.config.file>
              </systemPropertyVariables>
          </configuration>
      </plugin>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
                <encoding>${project.build.sourceEncoding}</encoding>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>com.itsenlin.Helloworld</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id> <!-- this is used for inheritance merges -->
                    <phase>package</phase> <!-- bind to the packaging phase -->
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

2.已知程序中安装有maven,可以使用maven打包,在IDEA工程中打开Maven projects》待打包的工程(假使工程中含有多个多个子工程,而现在只想打包其中一个子工程)》Lifecycle》双击package,即开始了包的生成,成功后在工程目录里面会有jar文件

3.选择-with-dependencies结尾的jar文件,输入命令java -jar xxx.jar 参数1 参数2即可以调用文件