发表于: 2017-12-12 21:16:42

1 596


今天完成的事

MAVEN的POM文件以及dubbo的相关配置

<packaging>标签表示打包成jar包还是war包

<build>标签表示构建的方式

<resource>
<targetPath>${project.build.directory}/classes</targetPath>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
   <include>**/*.xml</include>
   <include>**/*.properties</include>
</includes>
</resource>  

表示Build过程中

targetPath存放路径 

directory 对应的项目的目录

filtering开启过滤

includes包含那些文件 

        <!-- 结合com.alibaba.dubbo.container.Main -->
<resource>
<targetPath>${project.build.directory}/classes/META-INF/spring</targetPath>
<directory>src/main/resources/spring</directory>
<filtering>true</filtering>
<includes>
   <include>spring-context.xml</include>
</includes>
</resource>  

本来dubbo是会自动加载META-INF/spring配置(默认加载无需配置)

但是这里可以更改加载位置,通过directory去更改加载路径

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
   <classesDirectory>target/classes/</classesDirectory>
   <archive>
       <manifest>
           <mainClass>com.alibaba.dubbo.container.Main</mainClass>
           <!-- 打包时 MANIFEST.MF文件不记录的时间戳版本 -->
           <useUniqueVersions>false</useUniqueVersions>
           <addClasspath>true</addClasspath>
           <classpathPrefix>lib/</classpathPrefix>
       </manifest>
       <manifestEntries>
           <Class-Path>.</Class-Path>
       </manifestEntries>
   </archive>
</configuration>
</plugin>  

useUniqueVersion 注意这个参数!

classpathPrefix 路径参数,依赖的jar包都放入一个lib中

上面这段配置会生成MANIFEST.MF会在这个文件中展示

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
   <execution>
       <id>copy-dependencies</id>
       <phase>package</phase>
       <goals>
           <goal>copy-dependencies</goal>
       </goals>
       <configuration>
           <type>jar</type>
           <includeTypes>jar</includeTypes>
           <useUniqueVersions>false</useUniqueVersions>
           <outputDirectory>
               ${project.build.directory}/lib
</outputDirectory>
       </configuration>
   </execution>
</executions>
</plugin>

打成的jar包放入哪个目录


spring-context中必须配置其他相关的xml的classpath下的全路径,因为spring-mybatis.xml会在打包的过程中被移动


MAVEN的本地仓库配置

如果想在eclipse中使用maven需要在User Setting中设置Settings.xml以及Repository的路径,打包的jar war 以及对应的依赖jar都会在其中

注意!如果一个基本项目想要进行打包jar(maven install )那么他的相关依赖的jar必须先于它打包成功(成功之后才能依赖)

因此要先打包依赖项目才不会报错

打包完成后

都会出现在target文件夹中

web层

<build>
<finalName>AccessControlWeb</finalName>
<plugins>
   <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-war-plugin</artifactId>
       <configuration>
           <attachClasses>true</attachClasses>
       </configuration>
   </plugin>
</plugins>
</build>  

收获

不多,项目还没搭建完成,万里长城差一块砖。

遇到的问题

明天的计划

任务8

禅道链接

http://task.ptteng.com/zentao/task-view-14263.html



返回列表 返回列表
评论

    分享到