최근 프로젝트 요구로 인해 Maven의 포장을 연구했으며 프로젝트를 수행해야합니다.
1. 3 개의 디렉토리 /lib, /conf, /bin 디렉토리를 생성합니다
2. 모든 JAR 디렉토리를 /lib 디렉토리로 컴파일하고 복사하십시오 (Lib 디렉토리에 Maven의 JAR 패키지 및 JAR 포함 및 편집 된 JAR 패키지)
3. 프로젝트 루트 디렉토리에서 /bin 디렉토리로 모든 시작 스크립트를 복사하십시오.
4. SRC/Main/Resources의 모든 구성 파일을/conf
다음은 구성된 pom.xml입니다. 나는 모든 관련 구성에 대해 언급했으며 한 눈에 그것을 이해할 수 있습니다. 빌드 노드를 프로젝트에 복사하면 기본적으로 사용할 수 있습니다 :)
<project xmlns = "http://maven.apache.org/pom/4.0.0"xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance"xsi : schemalocation = "http://maven.apache.org/pom/0.0.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <modelversion> 4.0.0 </modelversion> <groupid> test </groupid> <artifactid> test.common </artifactid> <snapshot> <packing> </packaging </test.common> <Url> http://maven.apache.org </url> <properties> <proffess.build.sourceencoding> utf-8 </project.build.sourceencoding> </properties> <pectionies> <!-n 여기에서 생산 된 줄-> </effectory <ceptory> src/java/src/java comeds> src/java <Resources> <!-SRC/Main/Resources Directory의 모든 파일을 conf directory에 복사합니다-> <Resource> <erverce> <erplipore> <siregory> <siregory> src/main/resources </directory> <targetpath> $ {project.build.directory}/conf </targetpath> </resource> <!-Lib 디렉토리에있는 모든 파일을 LIB 디렉토리에 복사 할 수 있습니다. lib directory)-> <resource> <eriversory> lib </directory> <gargetPath> $ {project.build.directory}/lib </targetpath> </resource> <!-스크립트 파일을 루트 디렉토리의 .Sh,. <cluper> **/*. bat </include </include> </contuary> <gargetPath> $ {project.build.directory}/bin </targetpath> </resource> </resource> <plugins> <!-컴파일을위한 플러그인-> <plugin> <groupid> org.apache.maven.plugins </groupId> maven-compactid> <버전> 3.1 </version> <configuration> <fork> true </fork> <defaultlibbundledir> lib </defaultlibbundledir> <source> 1.7 </source> <garget> 1.7 </target> <인코딩> UTF-8 </encoding> <!-Java_home이 자유롭게 사용되어야한다면-/c :/c :/c. (x86)/java/jdk1.8.0_91/bin/javac.exe </executable> </configuration> </plugin> <!-JAR 패키지 생성을위한 플러그인-> <Plugin> <groupId> org.apache.maven.plugins </groupID> <artifactid> </artifactid> <configuration> <!-생성 된 JAR 패키지를 LIB 디렉토리에 넣습니다 (다른 모든 JAR 패키지 포함)-> <outputDirectory> $ {project.build.directory}/lib </outputDirectory> <Archive> <AddClassPath> true </addClassPation> <classPatpRefix> lib/</classpix/</classPix/</classPix> </archive> <제외> <!- 일부 파일을 제외하고 JAR 패키지에 넣지 마십시오. 이는 SRC/Main/Resources의 파일을 제외하는 것입니다 (conf 디렉토리에 배치해야 함). 여기서는 제외 할 대상 파일 만 지정할 수 있지만 소스 파일은 지정할 수 있습니다. 그들은 완벽하지는 않지만 기본적으로 목표를 달성 할 수 있습니다. -> <exclude>*. xml </exclude> <exclude>*. 속성 </excerties </exclude> </excludes> </configuration> </plugin> <!-Maven 의존성 복사를위한 플러그인-> <flugin> <groupId> org.apache.maven.plugins <artifactid> maven-dpuptin- <bersion> 2.10 </version> <executions> <executions> <id> 카피-의존성 </id> <case> 패키지 </phase> <pase> goal> 카피 의존 </목표> </목표> </goving> <configuration> <!-LIB 디렉토리에 의존하는 모든 maven jar 패키지 (모든 JAR 패키지가 LIB 디렉토리에 있도록)-> <outputDirectory> $ {project.build.directory}/lib </outputDirectory> </configuration> </execution> </executions> </plugin> <!-복사를위한 플러그인-> <plugin> <groupId> org.apache.maven.plugins </groupId> maven-rescecececece-rescece-rescecece-artugin> <버전> 2.7 </version> <fonciguration> <coloding> utf-8 </encoding> </configuration> </plugin> <!-소스 코드 Jar를 생성하는 플러그인을 구성합니다-> <flugin> <artifactid> maven-source -plugin </artifactid> <bersion> 2.4 <configuation> <config> <config> <comoding> utf-8 </encoding> <!-소스 코드 JAR 파일의 스토리지 경로를 구성하고 다른 JAR 파일과 함께 lib 디렉토리에 배치합니다-> <outputDirectory> $ {project.build.directory}/lib </outputdirectory> </configuration> <execution> <단계> <GOORE> <GOORE> <GOORE> </execution> </executions> </plugin> </plugins> </build> </project>그런 다음 Maven 패키지 포장을 실행하십시오. Eclipse 인 경우 Project Explorer-> Run AS> Maven 빌드…> 목표에 패키지를 입력하고 RUNC를 클릭하여 컴파일하십시오.
BIN 디렉토리의 시작 스크립트 start.bat은 다음과 같이 쓸 수 있습니다.
@echo 오프셋 ClassPath =%java_home%/libset java =%java_home%/bin/javaset classpath =%classpath%; ../ confset java_options = -djava.ext.dirs = "../ lib" "%java%"-xms512m -xmx1024m -Classpath "%java%"-xms512m -xmx1024m -class paths "%java%"-xms512m -xmx1024m -class path. test.hangqingentrance
위에:
Conf Directory가 SRC/Main/Resources에서 복사 된 구성 파일을 보유하므로 Conf Directory를 ConfPath에 추가하십시오.
설정 -djava.ext.dirs = "../ lib". JAR 패키지는 LIB 디렉토리에 배치되기 때문입니다.
위의 내용은 POM.XML을 구성하여 Maven을 사용하여 Java 프로젝트를 패키지하는 방법 (권장)의 전체 내용입니다. 모두가 wulin.com을 더 지원할 수 있기를 바랍니다 ~