pom文件将主包和依赖包分开打并运行

java 文章 2023-03-23 21:27 680 0 全屏看文

AI助手支持GPT4.0

在pom.xml里加入:

<build>
	<plugins>
		<!--            打包和部署运行JAR项目-->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-jar-plugin</artifactId>
			<configuration>
				<outputDirectory>D:\workspace\gitee\chatgpt4mp\chatgpt4mp\target\</outputDirectory>
				<!-- MainClass in mainfest make a executable jar -->
				<archive> 
					<manifest>
						<mainClass>com.chatgpt.MainApplication</mainClass>
					</manifest>
				</archive>
			</configuration>
		</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-dependency-plugin</artifactId>
			<executions>
				<execution>
					<id>copy</id>
					<phase>package</phase>
					<goals>
						<goal>copy-dependencies</goal>
					</goals>
					<configuration>
						<outputDirectory>D:\workspace\gitee\chatgpt4mp\chatgpt4mp\target\chat4mp_lib</outputDirectory>
					</configuration>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>


生成初包后使用

java [options] -jar xxx.jar [args]
java [options] -cp xxx.jar classname [args]


注意:

java -jarjava -cp不能混用

使用-jar时(如java -jar main.jar),main.jar的外部依赖,需要在MANIFEST.MF中指定Class-Path

使用-cp时(如java -cp all.jar package.Main),指定依赖的所有jar包后, 再指明要运行的主类即可。

比如:

java -cp D:/mnt/jars/chat4mp_lib/* com.chatgpt.MainApplication


-EOF-

AI助手支持GPT4.0