命令行创造工程,maven工具差异情形打包加载属特
分类:long8

四、maven编译跳过junit

布局后,maven打包的时候跳过junit

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.5</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> 

编写翻译而且加载lib下的jar包

<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> <compilerArguments> <extdirs>srcmainwebappWEB-INFlib</extdirs> </compilerArguments> </configuration> </plugin></plugins>
  • groupId集团名称反写+项目名称
  • artifactId项目名称-模块名称
  • version项目版本号
  • package源码包目录

trade-access-launcher

springMVC 运维模块,用于服务接口宣布

下一场喜剧就生出了

Maven 专题

一:浩言

水滴石穿,岁月静好,要求一颗不折腾的心,更亟待一颗通晓的心。各类人的心目都急需一个空间。<h5 align = "right">----------------《不畏未来不恋过去》</h5>

官方推荐groupId和package使用一样的路子

trade-service

政工逻辑服务层模块

为新的linux企图斩新的安装包和安顿

  1. 访问nexus 官网
  2. 进去下载页面而且选取 Nexus Repository Manager OSS 3.x 实行下载
  3. 嵌入你爱怜的目录并且解压
  4. 依据官方网站的文档的第二章进行安装配置

三:制作bat文件

依据下图的措施制作bat运维

图片 1bat_one_Image.png图片 2bat_two_Image.png图片 3bat_three_Image.png图片 4bat_four_Image.png

赢得地点的Commond Line然后在当和姑件夹营造贰个*.bat,把这段复制进去就可以。

java -Dfile.encoding=UTF-8 -classpath "D:Program FilesJavajdk1.7.0_79binjavaw.exe" -Dmaven.home=EMBEDDED -Dclassworlds.conf=D:wuhaoWorkSpaceMyeclipseSpace.metadata.pluginsorg.eclipse.m2e.launchinglaunchesm2conf686032403387202491.tmp -Dmaven.bootclasspath=/E:/studySoft/MyEclipse/plugins/org.eclipse.m2e.maven.runtime_1.4.0.20130531-2315/jars/plexus-classworlds-2.4.jar -Dfile.encoding=GBK -classpath /E:/studySoft/MyEclipse/plugins/org.eclipse.m2e.maven.runtime_1.4.0.20130531-2315/jars/plexus-classworlds-2.4.jar org.codehaus.plexus.classworlds.launcher.Launcher -B cleanpause

末尾贰个pause是本人要好加的,作者将地点的javaw.exe改为java.exe依旧闪退,所以加了四个pause后开关后才生产而install的bat制作只是将clean的-B clean改为-B install -Ptest就能够

图片 5Paste_Image.png

在施行打包的时候须求先clean,所以作者的install的bat如下

@call mvn-clean.batjava -Dfile.encoding=UTF-8 -classpath "D:Program FilesJavajdk1.7.0_79binjava.exe" -Dmaven.home=EMBEDDED -Dclassworlds.conf=D:wuhaoWorkSpaceMyeclipseSpace.metadata.pluginsorg.eclipse.m2e.launchinglaunchesm2conf4230151797058056596.tmp -Dmaven.bootclasspath=/E:/studySoft/MyEclipse/plugins/org.eclipse.m2e.maven.runtime_1.4.0.20130531-2315/jars/plexus-classworlds-2.4.jar -Dfile.encoding=GBK -classpath /E:/studySoft/MyEclipse/plugins/org.eclipse.m2e.maven.runtime_1.4.0.20130531-2315/jars/plexus-classworlds-2.4.jar org.codehaus.plexus.classworlds.launcher.Launcher -B install -Ptestpause

常用archetype

trade-dao

数据库访谈层模块

典故上述品种结构,早先创制项目 Archetype

对面生的利用,安装的越轻便,维护起来吃的shi越来越多

  1. 创办项目目录HelloWorld

  2. 在项目目录中创制 pom.xml (project Object Model : 项目对象模型)文件,内容如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="" xmlns:xsi=" ;

     <groupId>com.example</groupId> <artifactId>hello-world</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Hello world</name> <description>Hello world</description> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.example.HelloWorld</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build></project>
    
  3. 编写 java 文件package com.example;

    public class HelloWorld{ public String sayHello(){ return "Hello world"; } public static void main(String[] args){ System.out.println(new HelloWorld().sayHello; }}
    
  4. 编译mvn package

  5. 运行java -jar target/hello-world-0.0.1-SNAPSHOT.jar

二:背景

年根儿了,笔者的干活终于初阶终结了,从5月份啊初叶重构项目,到今日直接在忙着搬迁和新做接口,还应该有其余项指标种种题材亟待跟进。这两天API接口进行完成职业,不过开完最后的接口每回管理配置文件好费劲,每一回上测验生产都以要讲解,然后在解说回去,近来并未有那么忙了,就开头把那一个主题素材都给消除了。间接上安顿表明了。尝试了二种模式,个人对比推荐第一种2.1 通过profiles来内定境遇布置如下:

图片 6Paste_Image.png

<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>testProfile</groupId> <artifactId>testProfile</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>testProfile</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies><profiles> <profile> <id>test</id> <properties> <package.environment>test</package.environment> </properties> </profile> <profile> <id>production</id> <properties> <package.environment>production</package.environment> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>development</id> <properties> <package.environment>development</package.environment> </properties> </profile> </profiles><build><resources> <resource> <directory>src/main/resources</directory> <excludes> <exclude>test/**</exclude> <exclude>production/**</exclude> <exclude>development/**</exclude> </excludes> <filtering>true</filtering> </resource> <resource> <directory>src/main/resources/${package.environment}</directory> </resource> </resources> <finalName>testProfile</finalName> </build></project>

直接实践install得到的classes文件目录如下

图片 7Paste_Image.png实际中development, production,test中的配置文件名字都同一,小编那边只是为了看的尤为不问可知而已。有几许要验证的是自己在弄的时候一向感觉目录会是那般,例如小编今后暗中同意钦赐的是生育的,作者以为打包后的目录正是/production/sys_conf_pro.properties,实际上resource中的配置了excludes节点已经去掉了,所以不会再有那叁个目录。所以一旦您的布局文件src/main/resources下的目录时conf/production/sys_conf_pro.properties想做到conf/sys_conf_pro.properties也正是只想解决production目录是做不到的。命令行打包命令:mvn install -Dmaven.test.skip=true -Ptest-P:是用来内定参数。-D是用来跳过单元测验。

2.2 将配置属性配置在profile 里的properties中:配置如下,作者只铺排了test的数量,同偶尔候供给配备build节点中的resources。对于项目中的properties中的使用${key}就行。

<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>testProfile</groupId> <artifactId>testProfile</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>testProfile</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies><profiles> <profile> <id>test</id> <properties> <package.environment>test</package.environment> <profile.http.url>http://127.0.0.1/test</profile.http.url> <profile.sms.url>http://127.0.0.1/sms</profile.sms.url> </properties> </profile> <profile> <id>production</id> <properties> <package.environment>production</package.environment> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>development</id> <properties> <package.environment>development</package.environment> </properties> </profile> </profiles><build> <finalName>testProfile</finalName> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build></project>

图片 8Paste_Image.png

行使工具编写翻译:

图片 9Paste_Image.png

编写翻译后的结果:

图片 10Paste_Image.png其实resource中还应该有多数属性,能够依附本人的急需开展示公布局。

直接定义groupId、artifactId、version

打听 maven 的同窗,应该利用过如下命令来创设二个空的 maven 项目骨架

命令行创造工程,maven工具差异情形打包加载属特性局。能用google和百度解决难题,那是作用最高也是学习成本最低的事务,但是世事难料,并非兼备题目都得以从google得到答案。笔者写的那一个难题,google和百度都并未有给小编不错的施工方案,乃至连合保加利亚语档也不曾交给方案,特此进献给我们,希望可以帮忙一小部分人!

  1. 复制 Maven 目录下的 conf 文件夹下的 settings.xml 到 ~/.m2/ 下
  2. 编纂 settings.xml,在<settings><mirrors></mirrors></settings>内的剧情改为( PS: url标签 中的路线可能会失效,假使失效请自行百度寻觅近日可用能源.)<mirror><id>nexus-local</id><mirrorOf>central</mirrorOf><name>local</name><url>;

本文由long8发布于long8,转载请注明出处:命令行创造工程,maven工具差异情形打包加载属特

上一篇:没有了 下一篇:以内的最首要不同,大旨源码
猜你喜欢
热门排行
精彩图文