Maven 패키징은 일반적으로 두 가지 유형의 패키지를 생성할 수 있습니다. 하나는 직접 실행할 수 있는 패키지이고 다른 하나는 종속 패키지(컴파일된 패키지)입니다. 다른 유형을 수정해야 하는 경우 Maven은 기본적으로 jar 패키징을 사용합니다. Pom.xml 수정 가능
<packaging>jar/ear/ejb</packaging>
Maven 프로젝트에 기본적으로 도입된 플러그인:
생성된 jar는 컴파일된 패키지일 뿐이며 종속 항아리 가방을 패키지하지 않습니다. maven-jar-plugin:2.4 플러그인이 사용된 것을 콘솔의 컴파일 로그에서 볼 수 있습니다.插java 컴파일 플러그인, JDK 버전 등을 설정할 수 있습니다. (기본값을 설정하지 않으면
<!-- java编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.0</version>
<configuration>
<fork>true</fork>
<!--指定启动的入口,可以省略,springboot会自动查找启动类-->
<mainClass>com.lx.buildjarpackage.BuildJarPackageApp</mainClass>
</configuration>
</plugin>
mvn 클린 패키지 spring-boot:repackage
참고: 현재 pom 파일에 상위(선택 사항)가 지정된 경우
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.0</version> </parent>
콘솔 명령만 필요합니다. 실행
mvn clean package
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.lx.buildjarpackage.BuildJarPackageApp</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
mvn 정리 종속성:복사 -dependent -DoutputDirectory=target/lib package
참고: 콘솔 실행 명령을 단순화하면 플러그인 구성
<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>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin>
을 추가한 다음 콘솔
mvn clean package
방법을 실행할 수 있습니다. 3: 하나의 jar에 종속 패키지 및 프로젝트(springboot가 아닌 프로젝트)
이 방법은 maven-assemble-plugin 플러그인을 사용하지만 이 방법은 종속 jar를 최종 jar에 복사하지 않고 클래스 파일을 복사합니다. 종속 jar을 최종 jar에 추가하면 이 메서드가 일부 리소스 파일이 손실되므로 springboot 프로젝트가 시작되지 않습니다.
1단계: pom을 추가합니다. 오른쪽 열) -> 플러그인 선택 -> 어셈블리 선택 -> ;어셈블리 클릭:assemblies
요약: springboot 프로젝트를 정상적으로 시작하려면 방법 1과 방법 2만 사용할 수 있습니다.
3. Scala 프로젝트 패키징첫 번째 단계: pom.bar의 빌드>플러그인에
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.5.5</version> <configuration> <archive> <manifest> <mainClass>com.lx.buildjarpackage.BuildJarPackageApp</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin>
<plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin</artifactId> <executions> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> </execution> </executions> <configuration> <scalaVersion>${scala.version}</scalaVersion> <args> <arg>-target:jvm-1.5</arg> </args> </configuration> </plugin>
위 내용은 Java Maven 프로젝트에서 jar를 패키징하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!