精华内容
下载资源
问答
  • Maven打包,指定classes路径打包到WebContent/WEB-INF中
  • maven打包。通过插件配置,将打包文件复制到指定目录,并指定文件名。

    配置pom.xml文件, 添加插件:

    <!-- 打包时即package 时将war打到指定目录 -->
    <plugin>
    	<groupId>org.apache.maven.plugins</groupId>
    	<artifactId>maven-dependency-plugin</artifactId>
    	<version>2.8</version>
    	<executions>
    		<execution>
    			<id>copy-war</id>
    			<phase>package</phase>
    			<goals>
    				<goal>copy</goal>
    			</goals>
    			<configuration>
    				<artifactItems>
    					<artifactItem>
    						<groupId>${project.groupId}</groupId>
    						<artifactId>${project.artifactId}</artifactId>
    						<version>${project.version}</version>
    						<type>${project.packaging}</type>
    						<destFileName>ROOT.war</destFileName><!-- 重写目标文件名称 -->
    					</artifactItem>
    				</artifactItems>
    				<outputDirectory>/opt/apache-tomcat-7.0.90/webapps</outputDirectory>
    				<!-- <outputDirectory>D://d/p</outputDirectory> -->
    				<includes>
    					<include>*.war</include>
    				</includes>
    				<stripVersion>true</stripVersion>
    			</configuration>
    		</execution>
    	</executions>
    </plugin>

    <build><plugins> 添加在这个位置</plugins></build>

    outputDirectory:是输出的目录

    destFileName: 是目标的文件名(如果不写,则会使用artifactId+ version 命名)

     

    展开全文
  • 1. 使用 maven-dependency-plugin 插件将依赖包导出到指定文件夹 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-...

    1. 使用 maven-dependency-plugin 插件将依赖包导出到指定文件夹

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

    2. 使用 maven-war-plugin 插件将war打包到指定路径

    <plugin>
    	<groupId>org.apache.maven.plugins</groupId>
    	<artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
    	<configuration>
    		<outputDirectory>${project.build.directory/output</outputDirectory>
    	</configuration>
    </plugin>
    

    3. 使用 maven-jar-plugin 插件将打包后的 jar 包输出到指定路径

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.6</version>
        <configuration>
            <!-- 指定打包的jar包输出路径-->
            <outputDirectory>
                ${project.build.directory}/lib
            </outputDirectory>
        </configuration>
    </plugin>

    4. 使用 maven-resources-plugin 插件将需要复制的文件复制到指定路径(例:将配置文件提取到指定路径)

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.7</version>
        <executions>
            <execution>
                <id>copy-resources</id>
                <phase>package</phase>
                <goals>
                    <goal>copy-resources</goal>
                </goals>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <!--打成jar包后复制到的路径-->
                    <outputDirectory>
                        ${project.build.directory}/conf
                    </outputDirectory>  
                    <resources>
                        <resource>
                            <!--项目中的路径-->
                            <directory>src/main/resources/</directory>
                        </resource>
                    </resources>
                </configuration>
            </execution>
            <!--可配置多个提取复制路径只需要 “<id>”名字不一样即可-->
            <execution>
                <id>copy-bulid</id>
                <phase>package</phase>
                <goals>
                    <goal>copy-resources</goal>
                </goals>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <outputDirectory>
                        ${project.build.directory}/bin
                    </outputDirectory>   
                    <resources>
                        <resource>
                            <directory>build/</directory>
                        </resource>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>
    
    

     

    展开全文
  • maven打包打到指定位置

    千次阅读 2021-02-02 15:16:12
    碰到这样一个情况,在jekins上面配置的路径,跟打包的路径隔了一个目录,然后改jekins上面目录极其复杂要申请,所以,就只能自己修改生成war包的位置了,我们项目当时在一个大项目里面,举个栗子: 这是项目大概结构: test-...

    文章目录

    原因

    碰到这样一个情况,在jekins上面配置的路径,跟打包的路径隔了一个目录,然后改jekins上面目录极其复杂要申请,所以,就只能自己修改生成war包的位置了,我们项目当时在一个大项目里面,举个栗子:
    这是项目大概结构:
    test-base
    =====target
    =====test-api
    ========target
    =====test-war
    ========target
    =====test-core
    ========target
    然后jekins配置的是在test-base下的target里面的war包,但是生成生在了test-war包下面,所以我打包需要将test-war下target包拷贝到test-base下的target包里面.

    解决

    outputDirectory可以写绝对路径,可以写相对路径;

      <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.8</version>
            <executions>
              <execution>
                <id>copy-war</id>
                <phase>package</phase>
                <goals>
                  <goal>copy</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>${project.groupId}</groupId>
                      <artifactId>${project.artifactId}</artifactId>
                      <version>${project.version}</version>
                      <type>${project.packaging}</type>
                      <destFileName>test.war</destFileName>
                    </artifactItem>
                  </artifactItems>
                  <outputDirectory>../target</outputDirectory>
                  <includes>
                    <include>*.war</include>
                  </includes>
                  <stripVersion>true</stripVersion>
                </configuration>
              </execution>
            </executions>
          </plugin>
    
    展开全文
  • maven profile 读取不同配置 项目结构 resources deploy env-dev.properties(开发环境) env-prd.properties(生产环境) env-sit.properties(测试环境) properties system.properties pom.xml 配置 ...

    maven profile 读取不同配置

    1. 项目结构
      resources
      • deploy
        • env-dev.properties(开发环境)
        • env-prd.properties(生产环境)
        • env-sit.properties(测试环境)
      • properties
        • system.properties
    2. pom.xml 配置
      • profile配置

          <profiles>
          <profile>
              <id>dev</id>
              <properties>
                  <env>dev</env>
                  <!-- 指定连接文件 -->
                  <!--<exclude-config>config/spring-jdbc.xml</exclude-config>-->
              </properties>
              <!--默认dev环境-->
              <activation>
                  <activeByDefault>true</activeByDefault>
              </activation>
          </profile>
          <profile>
              <id>sit</id>
              <properties>
                  <env>sit</env>
              </properties>
          </profile>
          <profile>
              <id>prd</id>
              <properties>
                  <env>prd</env>
              </properties>
          </profile>

      • build 配置

          <build>
          <!--构建项目1:构建后的项目名称-->
          <finalName>${project.artifactId}-${project.version}</finalName>
          <!--构建项目2:引用环境隔离文件-->
          <filters>
              <filter>src/main/resources/deploy/env-${env}.properties</filter>
          </filters>
          <!--构建项目3:项目各文件加载路径-->
          <!-- filtering,构建过程中是否对资源进行过滤,默认false -->
          <!-- filters,给出对资源文件进行过滤的属性文件的路径,默认位于${basedir}/src/main/filters/目录下。属性文件中定义若干键值对。在构建过程中,对于资源文件中出现的变量(键),将使用属性文件中该键对应的值替换。 -->
          <resources>
              <resource>
                  <directory>src/main/java</directory>
                  <includes>
                      <include>**/*.xml</include>
                  </includes>
                  <excludes>
                      <exclude>**/*.java</exclude>
                  </excludes>
              </resource>
              <resource>
                  <directory>src/main/resources</directory>
                  <filtering>true</filtering>
                  <includes>
                      <include>**/*.properties</include>
                      <include>**/*.xml</include>
                  </includes>
                  <excludes>
                      <exclude>deploy/**</exclude>
                      <!--<exclude>${exclude-config}</exclude>-->
                  </excludes>
              </resource>
          </resources>
          <!--给出构建过程中所用到的插件-->
          <plugins>
              <!--编译java代码配置-->
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <version>3.1</version>
                  <configuration>
                      <source>${jdk.version}</source>
                      <target>${jdk.version}</target>
                      <encoding>${project.build.sourceEncoding}</encoding>
                      <showWarnings>${showWarnings}</showWarnings>
                      <!--<skip>${scom.suye.testtest}</skip>-->
                  </configuration>
              </plugin>
              <!--处理配置文件-->
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-resources-plugin</artifactId>
                  <version>2.5</version>
                  <configuration>
                      <encoding>${project.build.sourceEncoding}</encoding>
                  </configuration>
              </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <version>2.12.2</version>
                  <configuration>
                      <skip>${skip.testTmp}</skip>
                  </configuration>
              </plugin>
          </plugins>

    maven默认的输入输出目录(来源)

    构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。

    src/main/java和src/test/java 
    这两个目录中的所有*.java文件会分别在comile和test-comiple阶段被编译,编译结果分别放到了target/classes和targe/test-classes目录中,但是这两个目录中的其他文件都会被忽略掉。
    src/main/resouces和src/test/resources
    这两个目录中的文件也会分别被复制到target/classes和target/test-classes目录中。

    当是web项目时,会在target下生成myproject目录,myproject是你的项目名
    src/main/webapps
    这个目录中的文件会被复制到target/myProject目录中
    target/classes
    默认会把这个目录中的所有内容复制到target/myProject/WEB-INF/classes目录中
    Dependency
    默认会将项目的依赖复制到target/myProject/WEB-INF/lib

    maven生命周期(来源

    各个插件的执行顺序一般是:1:clean、2:resources、3:compile、4:testResources、5:testCompile、6:test、7:jar、8:install

    resource插件的功能就是把项目需要的配置文件拷贝到指定的目当,默认是拷贝src\main\resources目录下的件到classes目录下

    compile插件执行时先调用resouces插件,功能就是把src\mainjava源码编译成字节码生成class文件,并把编译好的class文件输出到target\classes目录下

    单元测试所用的compile和resources插件和主代码是相同的,但执行的目标不行,目标estCompile和testResources是把src\test\java下的代码编译成字节码输出到target\test-classes,同时把src\test\resources下的配置文件拷贝到target\test-classes。

    打包插件
    这个插件是把class文件、配置文件打成一个jar(war或其它格式)包。依赖包是不在jar里面的,需要建立lib目录,且jar和lib目录在同级目录。常用的打包插件有maven-jar-plugin、maven-assembly-plugin、maven-shade-plugin三种,下面分别介绍下各自己pom配置和使用特点。

    发布插件的功能就是把构建好的artifact部署到本地仓库,还有一个deploy插件是将构建好的artifact部署到远程仓库。

    转载于:https://www.cnblogs.com/cuiyf/p/11099326.html

    展开全文
  • 更改maven打包文件的默认输出

    万次阅读 2011-09-29 18:36:53
    众所周知,maven是个项目管理工具,maven是个好东西啊,这里就不多介绍了,网上有很多!这里我主要是讲一下在使用maven之后的一些心得。  开发j2ee Web项目的同学,在开发阶段总免不了需要运行web服务器来调试项目...
  • 原因可能有很多种,文件目录被IDE占用未释放。 解决方案 IDE子进程停止 重启文件资源管理器 打开任务管理器的“资源监视器” 使用关联句柄搜索 使用任务管理器删除进程 然后。。。然后电脑就蓝屏了。。。 重新...
  • maven 打包时复制文件到指定目录

    千次阅读 2019-05-08 10:13:00
    <artifactId>maven-resources-plugin <id>copy-resource <phase>package <goal>copy-resources ${basedir}/target <!-- 文件地址 --> ${basedir}/src/main/docker * ...
  • maven打包指定编码

    千次阅读 2017-06-29 13:07:29
    maven打包编译时后台一直输出警告信息 [WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent! 找了半天,原来只要在pom.xml文件中增加一个...
  • 使用maven打包jar的时候,默认是把各个项目的jar输入到各自的target目录下。而如果一个项目中包含有N个子项目,人工去把一个个的jar复制出来就太蛋疼了,好在maven有一个maven-antrun-plugin提供了集中复制jar包到...
  •  &lt;build&gt;  &lt;finalName&gt;vertical-search&lt;/finalName&gt;  &lt;plugins&gt;  &lt;plugin&...maven-compiler-plugin&lt;/artifactI...
  • 主要介绍了Maven 生成打包可执行jar包的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 修改pom.xml <build> <!-- myapp改为文件名 --> <finalName>myapp</finalName> ... </build>
  • Maven - 指定打包时的包名

    万次阅读 2018-07-02 16:59:01
    Maven - 指定打包时的包名 &lt;build&gt; &lt;finalName&gt;包名&lt;/finalName&gt; &lt;/build&gt;
  • maven-war-plugin    ${basedir}/src/main/webapp  ${basedir}/src/main/webapp
  • Maven打包时将jar包拷贝到指定路径

    千次阅读 2020-06-05 12:52:36
    直接上配置 <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>copy</id> <phase>
  • 之前有资源需要额外添加到工程输出,但是并不是放在maven标准的resources目录下,所以研究了下,通过以下几种方式都可以添加: 1、maven-resources-plugin插件[html] view plain copy print?   <artifactId>maven...
  • Maven打包指定位置

    2021-11-27 20:13:51
    方式一:通过maven-jar-plugin指定outputDirectory输出路径 方式二:通过maven-resources-plugin指定outputDirectory输出路径 方式三:通过maven-antrun-plugin复制jar包 方式四:通过maven-antrun-plugin嵌入...
  • maven 打包排除指定文件

    千次阅读 2017-02-14 09:19:50
    maven 打包排除指定文件 2015-10-16 13:57 3197人阅读 评论(0) 收藏 举报  分类: maven(16)  记一次我对maven深刻变革的认知。 当我还不知道Maven本质上其实只是一个插件框架,当我还...
  • 在多模块Maven项目中,反应堆(Reactor)是一个包含了所有需要构建模块的抽象概念,对于Maven用户来说,主要关心的是两点: 哪些模块会被包含到反应堆中? 反应堆中所有模块的构建顺序是什么? 例如有这样的一个多...
  • maven打包target目录下无lib依赖包文件夹解决 打包结果target目录下需要生成lib依赖包文件夹的,子模块pom.xml 新增一下参加 <!-- 提取lib文件 --> <plugin> <groupId>org.apache.maven....
  • maven是一个非常好用的东西,在我们日常开发中依赖jar就不在这里说了,我们主要说的是使用maven打包的问题。我们可能会碰到不一样的打包方式,,这里我们主要使用的三个Maven打包插件maven-dependency-plugin(依赖...
  • 使用Maven插件将依赖包 jar包 war包及配置文件输出指定目录
  • maven项目打包时把依赖加到指定目录的pom插件配置
  • SpringBoot Maven打包 错误及原因 1.org.springframework.boot:spring-boot-maven-plugin:2.2.1.RELEASE:repackage failed: Unable to find main class 2.找不到符号 Unable to find main class 问题原因 如果使用...
  • 前言: 最近,使用SpringCloud微服务框架...经过一番搜索,我找到了一种方式可以指定同一个文件夹目录存放所有微服务架包。 正文: 实现方式比较简单,只需在pom文件的build模块配置一个《maven-antrun-plugin插件
  • maven(1):maven打包工具

    2020-10-28 19:48:00
    文章目录maven相关的一些知识maven打包插件 maven-assembly-plugin,maven-shade-plugin与maven-assembly-plugin一、介绍二、 打包准备三、 maven-jar-plugin插件(maven默认打包插件)四、 maven-shade-plugin五、 ...
  • src/main/resources **/*.* true maven-resources-plugin copy-dependencies package copy-resources ${project.build.directory}/resources src/main/resources org.springframework.boot spring-boot-maven-...
  •  <artifactId>maven-resources-plugin      <id>copy-resources  <phase>package    <goal>copy-resources      <encoding>UTF-8    ${project.build.directory}   <!-- ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,568
精华内容 9,027
关键字:

maven打包指定输出目录