精华内容
下载资源
问答
  • Maven:Resource插件将配置文件copy到war过程中会修改文件内容问题。 项目中有一个license文件lic.dat在APP启动时都会去读该文件内容确保产品有授权并且在授权时间范围内。 之前lic.bat文件与其他文件一起放在 {...

    Maven:Resource插件将配置文件copy到war过程中会修改文件内容问题。

    项目中有一个license文件lic.dat在APP启动时都会去读该文件内容确保产品有授权并且在授权时间范围内。

    之前lic.bat文件与其他文件一起放在 {project.base}/src/main/resource文件夹中。
    因为Maven默认的资源文件夹名称为resources导致需要在idea中手动配置resource为资源文件夹。
    并且maven打包(package)时,不会将resource文件夹中的内容copy到war包中。
    项目的pom配置(注意这个<filtering>true</filtering>)
            <resources>
                <resource>
                    <directory>${project.basedir}/src/main/resources</directory>
                    <filtering>true</filtering>
                </resource>
            </resources>
    因为resource文件名的问题,这个就是完全没起到作用的配置。

    为了解决这个问题修改了文件夹名称 resource -> resources.
    之后,虽然配置文件随maven package命令打到了war包中,启动程序读license.dat文件时频繁报ZipException("Not in GZIP format")。
    这个是由java.util.zip.GZIPInputStream抛出的。
    具体抛异常位置:
        private int readHeader(InputStream this_in) throws IOException {
            CheckedInputStream in = new CheckedInputStream(this_in, crc);
            crc.reset();
            // Check header magic
            if (readUShort(in) != GZIP_MAGIC) {
                throw new ZipException("Not in GZIP format");
            }
     GZIP_MAGIC: 35615(0x8B1F), 实际读到的是:61215(0xEF1F)
    通过对比license.dat与打包到war的license.dat文件的二进制BIT发现第一个字节 由 8B1F -> EF1F。
    查看文件二进制bit方法:
    vim -b license.dat
    然后vim中用命令 :%!xxd

    通过查看Maven插件说明,了解到如果<filtering>true</filtering>,Resource插件并不是简单地将文件二进制地copy到war包中。
    而是会打开每一个文件,查找与替换变量(如:{envir}等等),再保存。
    在这个过程中zip文件lic.dat内容被修改了。(估计是添加BOM之类的)。
    1,简单解决方案:
            <resources>
                <resource>
                    <directory>${project.basedir}/src/main/resources</directory>
                    <filtering>false</filtering>
                </resource>
            </resources>
    这样就把filtering功能整个禁用了。

    2,深度解决方案:
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.2.0</version>
                    <configuration>
                        <nonFilteredFileExtensions>
                            <nonFilteredFileExtension>dat</nonFilteredFileExtension>
                        </nonFilteredFileExtensions>
                        <resources>
                            <resource>
                                <directory>${project.basedir}/src/main/resources</directory>
                                <filtering>true</filtering>
                            </resource>
                        </resources>
                    </configuration>
                </plugin>

    引入resources插件,将dat扩展名的文件排除在filtering之外。

    展开全文
  • Maven文件配置

    2019-10-07 17:11:08
    Maven文件内容配置 对于Maven 的 settings.xml 文件,需要注意。 <mirror>镜像元素之间是互斥的,优先级是出现在前面的优先级更高。 <profile>元素与<mirror>元素之间也是互斥的,通常<...

    Maven文件路径的配置

    • 默认设置
      1103990-20171124140827578-736922277.png

    • 修改之后的设置
      1103990-20171124140623453-313169866.png

    Maven文件内容的配置

    对于Maven 的 settings.xml 文件,需要注意。

    • <mirror>镜像元素之间是互斥的,优先级是出现在前面的优先级更高。
    • <profile>元素与<mirror>元素之间也是互斥的,通常<profile>的优先级更高。

    转载于:https://www.cnblogs.com/ioveNature/p/7890111.html

    展开全文
  • 如何使用Maven配置文件

    万次阅读 2020-05-23 20:29:41
    简而言之,Maven是一个可以覆盖默认配置值的配置文件。通过使用它,您可以为不同的环境创建自定义版本。 在继续学习本教程的内容之前,假定您已经安装了Maven。如果你还没有,请按照我的这篇博客逐步进行操作。 要在...

    简而言之,Maven是一个可以覆盖默认配置值的配置文件。通过使用它,您可以为不同的环境创建自定义版本。

    在继续学习本教程的内容之前,假定您已经安装了Maven。如果你还没有,请按照我的这篇博客逐步进行操作。

    要在Maven中指定配置文件,您需要使用pom.xml文件中的activeProfiles或profiles元素 。pom.xml在运行时被修改 。

    有3种构建配置文件类型。

    1. 每个项目

      在pom.xml文件中定义

    2. 每个用户

      在Maven设置xml文件(%USER_HOME%/.m2/settings.xml)中定义

    3. 全局

      在Maven全局设置xml文件(%M2_HOME%/conf/settings.xml)中定义

    如何构建Maven配置文件?有两种方法:

    1. 终端–本教程涵盖
    2. Maven设置–本教程涵盖
    3. 环境变量–在本教程中涵盖
    4. 操作系统设置
    5. 存在或丢失的文件

    使用终端激活配置文件

    创建您的Maven项目(如果尚未创建),让我们创建第一个简单的配置文件test1。

    这是我添加的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/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>mavenprofilesdemo</groupId>
      <artifactId>mavenprofilesdemo</artifactId>
      <packaging>jar</packaging>
      <version>0.0.1-SNAPSHOT</version>
      <name>Maven Quick Start Archetype</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>test1</id> 
                        <build> 
                                <plugins>
                                    <plugin>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-compiler-plugin</artifactId>
                                        <configuration>
                                        	<fork>true</fork>
                                            <compilerVersion>1.5</compilerVersion>
                                        </configuration>
                                    </plugin>
                                </plugins>
                        </build>
                </profile>
        </profiles>
    </project>
    

    profiles-> profile-> id ; 这是我们指定如何引用配置文件的地方。重要的是,不要错过该行,因为它不仅是必填项,而且如果您省略它,则将无法访问您的个人资料。

    我们在pom.xml文件中所做的是,我们已覆盖了编译器插件设置。我们已经将编译器的版本设置为1.5,并将fork设置为true。

    这次我们仅创建了1个配置文件,但是我们也可以在标签中添加更多的标签。

    覆盖所需的插件之后,该运行我们的配置文件了。通过在命令行中输入**mvn test -P **来运行它

    在我们的例子中,我们需要编写**mvn test -Ptest1,**因为我们创建的配置文件将其ID为“ test1”。

    现在转到项目的文件夹位置,然后键入 **mvn test -P <您的配置文件的ID>。 **如果我在上面的示例中运行此命令,这就会显示下面的结果:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ----------------< mavenprofilesdemo:mavenprofilesdemo >-----------------
    [INFO] Building Maven Quick Start Archetype 0.0.1-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    [INFO]
    [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mavenprofilesdemo ---
    [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] skip non existing resourceDirectory D:\Eclipse Projects\mavenprofilesdemo\src\main\resources
    [INFO]
    [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ mavenprofilesdemo ---
    [INFO] Nothing to compile - all classes are up to date
    [INFO]
    [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ mavenprofilesdemo ---
    [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] skip non existing resourceDirectory D:\Eclipse Projects\mavenprofilesdemo\src\test\resources
    [INFO]
    [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ mavenprofilesdemo ---
    [INFO] Nothing to compile - all classes are up to date
    [INFO]
    [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ mavenprofilesdemo ---
    [INFO] Surefire report directory: D:\Eclipse Projects\mavenprofilesdemo\target\surefire-reports
    -------------------------------------------------------
     T E S T S
    -------------------------------------------------------
    Running mavenprofilesdemo.mavenprofilesdemo.AppTest
    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec
    Results :
    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  1.072 s
    [INFO] Finished at: 2019-08-18T09:15:55+01:00
    [INFO] ------------------------------------------------------------------------
    

    使用Maven设置激活配置文件

    进入到您的用户主目录,然后打开 .m2文件夹。如果那里没有settings.xml文件,请创建一个。

    然后将我们创建的配置文件添加为活动配置文件。使用以下代码:

    <settings 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/settings-1.0.0.xsd">
       <mirrors>
          <mirror>
             <id>maven.dev.snaponglobal.com</id>
             <name>Internal Artifactory Maven repository</name>
             <url>http://repo1.maven.org/maven2/</url>
             <mirrorOf>*</mirrorOf>
          </mirror>
       </mirrors>
       <activeProfiles>
          <activeProfile>test</activeProfile>
       </activeProfiles>
    </settings>
    

    现在,进入到包含 pom.xml文件的文件夹并执行 mvn test。

    使用环境变量激活配置文件

    删除settings.xml文件,然后在name标签中添加值**env **。像这样:

    <profile>
       <id>test</id>
       <activation>
          <property>
             <name>env</name>
             <value>test1</value>
          </property>
       </activation>
    </profile>
    

    您必须创建一个名为env的环境变量,并将其值设置为“ test1”。

    进入到包含pom.xml的文件夹,然后键入mvn test。

    如果您希望将自定义库包含到maven本地存储库中,可以阅读我的这一篇文章

    展开全文
  • 在访达中找到应用程序 右击idea选择显示包内容Maven home directory路径依次点击进入maven3文件夹 点击conf文件夹可以看见settings.xml文件
    1. 在访达中找到应用程序
    2. 右击idea选择显示包内容
    3. 按Maven home directory路径依次点击进入maven3文件夹
      在这里插入图片描述
    4. 点击conf文件夹可以看见settings.xml文件
    展开全文
  • 问题描述:使用maven打包时出现配置文件最新修改内容未打进包内? 原因定位: 1、之前的程序代码在上传svn时,一块将target文件夹(编译完的class)上传到了svn ; 2、并且由于项目中需要在打包时拉取svn中...
  • jenkins工作空间的文件还在...准备工作:配置tomcat的访问权限,在maven的setting.xml文件的servers节点下添加如下内容tomcatadmin1234561.maven-tomcat-plugin热部署插件url为tomcat管理地址,tomcat6下是:ht...
  • Netbeans8的maven配置文件路径

    千次阅读 2017-04-21 13:55:00
    Netbeans8的maven配置文件路径 windows7下的路径 C:\Program Files\NetBeans 8.2\java\maven\conf\settings.xml 配置maven阿里云中央仓库 修改maven根目录下的conf文件夹中的setting.xml文件,内容如下: ...
  • maven 使用多个配置文件

    千次阅读 2016-10-23 10:55:16
    在编写程序的时候,可能会在不同的环境来使用不同的配置文件,这样的话,就需要不断的修改配置文件中的内容,在本地使用修改为本地的配置内容,在测试环境使用,使用测试环境的配置内容,生产环境使用生产环境的配置...
  • 1.解决的问题 在idea中新创建了springboot项目,但pom中依赖的包总是无法导入。...maven配置文件MAVEN_HOME\conf\settings.xml。关键内容如下: <!-- localRepository | The path to the local
  • 针对maven构建的项目,我们可以通过配置pom文件,实现不同环境下包含不同的配置文件。 1.在pom.xml文件中增加如下内容,配置项目发布的环境有哪些 &lt;profiles&gt; &lt;profile&gt;...
  • maven配置文件setting.xml字段注释

    千次阅读 2015-04-19 22:25:44
    maven配置文件为settings.xml,在下面路径中可以找到这个文件,分别为: $M2_HOME/conf/settings.xml:全局设置,在maven的安装目录下;${user.home}/.m2/settings.xml:用户设置,需要用户手动添加,可以将...
  • 三、 Maven工程 1 Maven 的工程类型1.1 POM 工程 POM 工程是逻辑工程。用在父级工程或聚合工程中。用来做 jar 包的版本控制。 1.2 JAR 工程 将会打包成 jar 用作 jar 包使用。即常见的本地工程 - Java Project。 1.3...
  • Maven配置

    2019-10-27 12:58:19
    1、全局配置 进入到D:\Program Files\...打开该文件修改配置 将标签激活 修改标签中的内容 2、局部配置 将setting.xml文件拷贝到~/.m2(C:\Users\Administrator.m2) 将标签激活 修改标签中的内容 ...
  • 问题是在将 XML 文件信息写入数据库时遇到的,这个 XML 文件比较特殊,标签与数据库中对应的字段名称不一样,需要维护一个单独的配置文件,我将其整理成了一个 JSON 配置文件,以便后期直接修改。正好最近在看 Java ...
  •  本文介绍使用maven向自己的项目中添加各种框架的方法,即如何配置maven的pom.xml来让maven帮助管理这些框架(包括Spring、SpringMVC、hibernate框架等等)。 2.使用maven向自己的工程中添加框架:  2.1概述  ...
  • 打开这个配置文件 在相应标签下配置这些内容 1 //将中央仓库修改为阿里云的仓库 2 <mirrors> 3 <mirror> 4 <id>nexus-aliyun</id> 5 <mirrorOf>*</mirrorOf> ...
  • 今天我在本地做测试,更改了一些公用common里的...第一步是打开自己的maven的setting设置文件,更改一些配置项,使maven运行时不再更新,更改如下: 将<enabled>设置成false, 第二步,就是将你要用的本...
  • 这样的好处在于可以随时修改配置文件内容及查看 jar 包。如果将所有打成一个 jar 包就会有个问题(例如:修改数据库连接位置需要重新打包这样就失去了使用配置文件的有优点)。 本文利用Mav...
  • maven打包动态加载配置文件

    千次阅读 2018-04-29 15:36:27
    (此种情况适合流程化管理)很多时候是 本地、测试、生产打包都归你一个人操作的时候,启动多个项目或者修改配置文件就比较麻烦了。可以选择动态加载配置文件的方式,如下。一:如图所示,在每次pa...
  • Maven配置

    2019-05-14 19:53:13
    1.下载Maven解压到指定目录 2.配置环境变量:MAVEN_HOME D:\worksoftware...3.修改conf下的setting.xml文件,加快下载jar包速度(先备份文件) 在mirrors标签下增加如下内容: alimaven aliyun maven http://...
  • maven配置

    2017-08-24 12:37:22
    myeclipse要指定maven的位置 配置settings.xml文件的路径 以及该文件中对本地仓库路径的配置 ...修改以下内容就告诉服务器说本地仓库的位置是:D:/apache-maven-repository    | The path to the local repository ma
  • maven个人配置

    2017-02-18 00:56:00
    settings.xml 文件修改一下内容 本地 <localRepository>D:\maven\repository</localRepository> 远程:修改成国内的速度快 <mirror> <id>alimaven</id> <mirrorOf>c...
  • 最近在新安装的maven中发现,在{user}/.m2/目录下没有...下面是我手动添加配置文件内容。 <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:...
  • maven tomcat配置

    2014-12-16 11:22:44
     在config文件修改tomcat-users.xml tomcat-users.xml内容如下:         2maven config文件夹下修改setting.xml     tomcat tomcat tomcat   这里的id在下面要用(和3中的service对应) 3、
  • 一、安装配置maven和使用 准备maven的安装包,我这里使用的的是maven的3.5.0 的版本,放在自己的自定义路径下,...修改MAVEN_HOME\conf”下的setting.xml文件配置本地仓库。 D:/Repository 标签之间的内容是以后
  • 究其原因,只修改了文件夹的名字,而没有修改配置文件内容 新建一个Before项目 修改名字 这里需要修改三个地方 Model文件夹的名字 修改为 After Before.iml修改为 修改为 After.iml 打开 pom.xml 修改其 <...
  • 首先,我们的服务是个maven的项目,springboot,spring啥的统统都没有用,然后也不打算引入各种配置文件的jar,但是想要在程序运行中,可以动态的修改一些配置,并且程序能识别到,程序里读到的内容也实时变动。...
  • 关于网上说的解压Jar包,修改Jar包中的文件,再打包成zip,修改zip的后缀为.jar的方法,解压放到项目中亲测无效。 原本操作 Word转 PDF 用的是 POI 工具类PdfConverter,但是后面发现 PdfConverter 转换后出现...
  • Maven 约定优于配置

    2018-11-03 16:05:32
    maven配置文件看似很复杂,其实只需要根据项目的实际背景,设置个别的几个配置项而已。maven有自己的一套默认配置,使用者除非必要,并不需要去修改那些约定内容。这就是所谓的“约定优于配置”。 文件目录 maven...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 662
精华内容 264
关键字:

maven修改配置文件内容