Maven Install 加入第三方依赖包

最终目录结构

irpc-client-0.0.1-SNAPSHOT/

config/

lib/

scripts/

irpc-client-0.0.1-SNAPSHOT.jar

start.sh

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/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.autohome</groupId>
  <artifactId>irpc-client</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>irpc</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <!-- 测试作用域不会被加入上线的zip包 -->
      <scope>test</scope>
    </dependency>
	<!-- https://mvnrepository.com/artifact/io.netty/netty-all -->
	<dependency>
	    <groupId>io.netty</groupId>
	    <artifactId>netty-all</artifactId>
	    <version>4.1.2.Final</version>
	</dependency>
  </dependencies>
  <build>
		<sourceDirectory>src/main/java</sourceDirectory>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<defaultLibBundleDir>lib</defaultLibBundleDir>
					<source>1.6</source>
					<target>1.6</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- The configuration of maven-jar-plugin -->  
	        <plugin>  
	            <groupId>org.apache.maven.plugins</groupId>  
	            <artifactId>maven-jar-plugin</artifactId>  
	            <version>2.4</version>  
	            <!-- The configuration of the plugin -->  
	            <configuration>  
	                <!-- Configuration of the archiver -->  
	                <archive>  
	  
	                    <!-- 
	                        生成的jar中,不要包含pom.xml和pom.properties这两个文件 
	                    -->  
	                    <addMavenDescriptor>false</addMavenDescriptor>  
	  
	                    <!-- Manifest specific configuration -->  
	                    <manifest>  
	                        <!-- 
	                            是否要把第三方jar放到manifest的classpath中 
	                        -->  
	                        <addClasspath>true</addClasspath>  
	                        <!-- 
	                           生成的manifest中classpath的前缀,因为要把第三方jar放到lib目录下,所以classpath的前缀是lib/ 
	                       -->  
	                        <classpathPrefix>lib/</classpathPrefix>  
	                        <!-- 
	                            应用的main class 
	                        -->  
	                        <mainClass>com.autohome.irpc.RpcClient</mainClass>  
	                    </manifest>  
	                </archive>  
	                <!-- 
	                    过滤掉不希望包含在jar中的文件 
	                -->  
	                <excludes>  
	                    <exclude>${project.basedir}/xml/*</exclude>  
	                </excludes>  
	            </configuration>  
	        </plugin>  
	  
	        <!-- The configuration of maven-assembly-plugin -->  
	        <plugin>  
	            <groupId>org.apache.maven.plugins</groupId>  
	            <artifactId>maven-assembly-plugin</artifactId>  
	            <version>2.4</version>  
	            <!-- The configuration of the plugin -->  
	            <configuration>  
	                <!-- Specifies the configuration file of the assembly plugin -->  
	                <descriptors>  
	                    <descriptor>src/main/assembly/package.xml</descriptor>  
	                </descriptors>  
	            </configuration>  
	            <executions>  
	                <execution>  
	                    <id>make-assembly</id>  
	                    <phase>package</phase>  
	                    <goals>  
	                        <goal>single</goal>  
	                    </goals>  
	                </execution>  
	            </executions>  
	        </plugin>
		</plugins>
  </build>
</project>


package.xml

 

 

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">  
    <id>bin</id>  
    <!-- 最终打包成一个用于发布的zip文件 -->  
    <formats>  
        <format>zip</format>  
    </formats>  
  
    <!-- Adds dependencies to zip package under lib directory -->  
    <dependencySets>  
        <dependencySet>  
            <!-- 
               不使用项目的artifact,第三方jar不要解压,打包进zip文件的lib目录 
           -->  
            <useProjectArtifact>false</useProjectArtifact>  
            <outputDirectory>lib</outputDirectory>  
            <unpack>false</unpack>  
        </dependencySet>  
    </dependencySets>  
  
    <fileSets>  
        <!-- 把项目相关的说明文件,打包进zip文件的根目录 -->  
        <fileSet>  
            <directory>${project.basedir}</directory>  
            <outputDirectory>/</outputDirectory>  
            <includes>  
                <include>README*</include>  
                <include>LICENSE*</include>  
                <include>NOTICE*</include>  
            </includes>  
        </fileSet>  
          
        <!-- 把项目的配置文件,打包进zip文件的config目录 -->  
        <fileSet>  
            <directory>${project.basedir}\src\main\config</directory>  
            <outputDirectory>config</outputDirectory>  
            <includes>  
                <include>*.xml</include>  
                <include>*.properties</include>  
            </includes>  
        </fileSet>  
          
        <!-- 把项目的脚本文件目录( src/main/scripts )中的启动脚本文件,打包进zip文件的跟目录 -->  
        <fileSet>  
            <directory>${project.build.scriptSourceDirectory}</directory>  
            <outputDirectory></outputDirectory>  
            <includes>  
                <include>startup.*</include>  
            </includes>  
        </fileSet>  
  
        <!-- 把项目的脚本文件(除了启动脚本文件),打包进zip文件的script目录 -->  
        <fileSet>  
            <directory>${project.build.scriptSourceDirectory}</directory>  
            <outputDirectory></outputDirectory>  
            <excludes>  
                <exclude>startup.*</exclude>
            </excludes>  
        </fileSet>  
          
        <!-- 把项目自己编译出来的jar文件,打包进zip文件的根目录 -->  
        <fileSet>  
            <directory>${project.build.directory}</directory>  
            <outputDirectory></outputDirectory>  
            <includes>  
                <include>*.jar</include>  
            </includes>  
        </fileSet>  
    </fileSets>  
</assembly>

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值