MANIFEST. MF 를 포함 하 는 jar 는 지정 한 classpath 및 spring boot 응용 증분 업그레이드 패키지 구현 을 실행 할 수 있 습 니 다.
Manifest-Version: 1.0Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txtBundle-SymbolicName: org.mybatis.generator.mybatis-generator-coreArchiver-Version: Plexus ArchiverBuilt-By: zjhuaBnd-LastModified: 1559632976998Specification-Title: MyBatis Generator CoreImplementation-Vendor-Id: org.mybatis.generatorBundle-DocURL: http://www.mybatis.org/mybatis-generator/mybatis-genera tor-core/Include-Resource: org/mybatis/generator/config/xml/ibator-config_1_0.d td=src/main/resources/org/mybatis/generator/config/xml/ibator-config_ 1_0.dtd,org/mybatis/generator/config/xml/mybatis-generator-config_1_0 .dtd=src/main/resources/org/mybatis/generator/config/xml/mybatis-gene rator-config_1_0.dtd,org/mybatis/generator/internal/util/messages/mes sages.properties=src/main/resources/org/mybatis/generator/internal/ut il/messages/messages.propertiesImport-Package: com.mysql.jdbc,javax.xml.parsers,org.apache.commons.la ng3,org.apache.log4j,org.apache.tools.ant,org.apache.tools.ant.types, org.w3c.dom,org.xml.saxRequire-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.6))"Main-Class: org.mybatis.generator.api.ShellRunnerImplementation-Build-Date: 2019-06-04 07:22:46+0000
classpath 는 maven 패키지 플러그 인 을 통 해 지정 할 수 있 습 니 다. 다음 과 같 습 니 다.
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-jar-pluginartifactId>
<configuration>
<archive>
<manifest>
<addClasspath>trueaddClasspath>
<classpathPrefix>lib/classpathPrefix>
<mainClass>com.xxx.uploadFilemainClass>
manifest>
archive>
configuration>
plugin>
이렇게 하면 jar 파일 과 같은 디 렉 터 리 의 lib / 아래 의 모든 jar 에 접근 할 수 있 습 니 다.
그리고 저 희 는 maven - dependency - plugin 플러그 인 을 통 해 특정한 가방 을 lib 디 렉 터 리 에 복사 합 니 다. 다음 과 같 습 니 다.
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-dependency-pluginartifactId>
<version>3.0.1version>
<executions>
<execution>
<id>copyid>
<phase>packagephase>
<goals>
<goal>copygoal>
goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.11version>
<outputDirectory>${project.build.directory}/lib/lib1outputDirectory>
artifactItem>
<artifactItem>
<groupId>org.slf4jgroupId>
<artifactId>slf4j-log4j12artifactId>
<version>1.7.7version>
<outputDirectory>${project.build.directory}/lib/lib1outputDirectory>
artifactItem>
artifactItems>
configuration>
execution>
executions>
plugin>
모든 의존 도 를 복사 할 수 있 습 니 다. 다음 과 같 습 니 다.
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-dependency-pluginartifactId>
<executions>
<execution>
<id>copy-dependenciesid>
<phase>prepare-packagephase>
<goals>
<goal>copy-dependenciesgoal>
goals>
<configuration>
<outputDirectory>${project.build.directory}/liboutputDirectory>
<overWriteReleases>falseoverWriteReleases>
<overWriteSnapshots>falseoverWriteSnapshots>
<overWriteIfNewer>trueoverWriteIfNewer>
configuration>
execution>
executions>
plugin>
실제 상황 은 우리 가 보통 기초 3 자 라 이브 러 리 를 가방 에 넣 고 jar 를 lib 디 렉 터 리 에 복사 하 는 동시에 업그레이드 와 관리 복잡성 을 고려 하기 때문에 최종 적 으로 이렇다.
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
<configuration>
<layout>ZIPlayout>
<mainClass>org.abc.ConsumerStartermainClass>
<excludes>
<exclude>
<groupId>abc.orggroupId>
<artifactId>biz-serviceartifactId>
exclude>
excludes>
<includeSystemScope>trueincludeSystemScope>
configuration>
<executions>
<execution>
<goals>
<goal>repackagegoal>
goals>
execution>
executions>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-dependency-pluginartifactId>
<version>3.1.1version>
<executions>
<execution>
<id>copyid>
<phase>packagephase>
<goals>
<goal>copygoal>
goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>abc.orggroupId>
<artifactId>biz-serviceartifactId>
<version>1.1.0version>
<outputDirectory>${project.build.directory}/liboutputDirectory>
artifactItem>
artifactItems>
configuration>
execution>
executions>
plugin>
이렇게 걸 린 jar 는 biz - service 를 포함 하지 않 고 단독 lib 디 렉 터 리 에 있 습 니 다.layot ZIP 특성 을 결합 하면 증분 업 그 레이 드 를 완벽 하 게 실현 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.