Recentemente, devido às necessidades do projeto, estudei a embalagem do Maven, e o projeto precisa ser feito.
1. Gere 3 Diretórios /Lib, /Conf, /Bin Diretórios
2. Compilar e copiar todos os diretórios do JAR para /Lib Directory (incluindo o pacote JAR e JAR do Maven no diretório Lib, além de pacotes de frascos compilados)
3. Copie todos os scripts de inicialização do diretório raiz do projeto para o diretório /bin
4. Copie todos os arquivos de configuração do SRC/Main/Recursos para/conf
A seguir, é apresentado o pom.xml configurado. Comentei sobre todas as configurações relevantes e você pode entender isso rapidamente. Se você copiar o nó de compilação para o seu projeto, basicamente pode usá -lo :)
<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/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <ModelVersion> 4.0.0 </modelVersion> <pursion> test </groupid> <TestifactId> test.common </stifactId> <ursh> 0,0.1-SNAPSHOT> <url> http://maven.apache.org </url> <Properties> <Project.build.sourceEncoding> utf-8 </project.build.sourceEncoding> </properties> <pendences> <! <resources> <!-- Copy all files in the src/main/resources directory to the conf directory--> <resource> <directory>src/main/resources</directory> <targetPath>${project.build.directory}/conf</targetPath> </resource> <!-- Copy all the files in the lib directory into the lib directory (some jar packages may not be found in maven and need to be placed in the Lib Directory)-> <Source> <Directory> lib </irectory> <getpath> $ {Project.build.directory}/lib </TargetPath> </Resource> <!-Copie o arquivo de script .sh, .bat no diretório raiz para o diretório bin-> <werce> <lirectory> <include>**/*.bat</include> </includes> <targetPath>${project.build.directory}/bin</targetPath> </resource> </resources> <plugins> <!-- plugin for compilation --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <fork>true</fork> <defaultLibBundleDir>lib</defaultLibBundleDir> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> <!-- If JAVA_HOME is configured, the following should be free of use --> <executable>C:/Program Files (x86)/Java/jdk1.8.0_91/bin/javac.exe</executable> </configuration> </plugin> <!-- plugin for generating jar packages --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <figuration> <!-Coloque o pacote de jar gerado no diretório Lib (com todos os outros pacotes JAR)-> <putputDirectory> $ {Project.build.directory}/lib </outputdirectory> <Clorchive> <ShanStySt> <ditclass> true </addclasspath> <classPathPrefix> <cligires> <!- exclua alguns arquivos e não os coloque no pacote JAR. Isso é para excluir arquivos no SRC/Main/Recursos (eles devem ser colocados no diretório conf). Aqui você pode especificar apenas os arquivos de destino a serem excluídos, mas não os arquivos de origem. Embora não sejam perfeitos, eles podem basicamente atingir o objetivo. -> <cligir>*. Xml </cligir> <clusude>*. Propriedades </cligir> </cligires> </figuration> </plugin> <!-plugin para copiar dependências de mavenen-> <tlugin> <plugId> org.apache.maven.plugins </groupId> <artiftId> maven- maven-dache.pache.plugins </groupId> <artiftid> <Version> 2.10 </sersion> </execuções> <secution> <d> copy-dependents </dod> <shase> pacote </shase> <lects> <lection> copy-dependents </as Goal> </metas <figuration> <! <putputDirectory> $ {Project.build.directory}/lib </outputDirectory> </figuration> </secution> </conformions> </plugin> <!-plugin para cópia de recurso-> <clugin> <plupId> org.apache.menEsen. <Versão> 2.7 </sipers> <figuration> <Coding> utf-8 </coding> </figuration> </plugin> <!-Configure o plug-in que gera o jarro de código-fonte-> <Plugin> <suply> </siplatid> MAVED-SURCE-PLUGIN </ArtifactId> <siply> 2./versão </versão </config> <config. <Codinging> utf-8 </coding> <!-Configure o caminho de armazenamento do arquivo JAR do código-fonte e coloque-o no diretório Lib com outros arquivos JAR-> <outputDirectory> $ {Project.build.directory}/libextirectory </siCigur> <Excutory} <shasepile> <shasepile> Compile> GOTM> <sutectory}/fase <shasepile> </ Execution> </conformions> </flugin> </flugins> </fruct> </Project>Em seguida, execute a embalagem do pacote Maven. Se for eclipse, digite o pacote no Project Explorer-> Run como> Maven Build…> Metas e clique em Run para compilar.
O script de startup Start.bat no diretório da bin pode ser escrito assim:
@Echo offset classpath =%java_home%/libset java =%java_home%/bin/javaset ClassPath =%ClassPath%; ../ confset java_options = -djava.ext.dirs = "../ lib" "%javain%" -xms512m -xmx10 = "../bl" "%JavaAsT" -xms512m -xmx10 = "/bl "%javaStAsTaStAtPans512m.dirs = "/BiB" "%JavaASTA" -xms512m -xmx424 test.hangqingentrance
acima:
Adicione o diretório conft ao ClassPath porque o diretório conf segura os arquivos de configuração copiados do SRC/Main/Recursos.
Configurações -djava.ext.dirs = "../ lib". Porque os pacotes JAR são colocados no diretório LIB.
O exposto acima é o conteúdo completo do método (recomendado) para configurar o pom.xml para usar o Maven para empacotar projetos Java. Espero que todos possam apoiar mais wulin.com ~