我想一个简单的项目中创建一个结构的项目,该项目包含了一些SSL证书,我想包括作为,所以当项目被创建的证书将是项目的一部分,在结构的项目资源。我的问题是Maven是试图创建一个与原型项目时做这些证书的属性更换。反正有告诉行家不要做财产更换? 我已经尝试了以下内容:

    <resources>
  <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    <includes>
      <include>**/*.xml</include>
    </includes>
  </resource>
  <resource>
    <directory>src/main/resources</directory>
    <filtering>false</filtering>
    <excludes>
      <exclude>**/*.xml</exclude>
    </excludes>
  </resource>

在我的原型的pom.xml。任何想法?

有帮助吗?

解决方案

我不知道你的问题到底是什么(是你的证书XML文件?),但我的猜测是,它是关系到大部分的原型的非二进制内容被创建时速度处理的事实(见 ARCHETYPE-90 了解这个问题)。

一个解决方法是配置创建 - 从项目魔力使用具有未过滤的文件默认:

-Darchetype.filteredExtentions=ext1,ext2,...

它设置扩展将被过滤,并且将默认值包括javaxmltxtvmgroovyjspgspvmproperties文件。所以从这个列表中排除xml如果你不想被过滤xml做。

另一种选择是指定自定义元数据的原型,像这样在src/main/resources/META-INF/maven/archetype-metadata.xml

<?xml version="1.0" encoding="UTF-8"?>
<archetype-descriptor name="myarchetype">
  <fileSets>
    <fileSet filtered="false" encoding="UTF-8">
      <directory>src/foobar</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </fileSet>
  </fileSets>
</archetype-descriptor>

请参阅更多此页上原型的元数据的信息。

其他提示

我也有类似的问题,试图用$ {BASEDIR}在原型资源/ pom.xml的,但它被替换时的原型跑到创建工程等指出错误的目录。

的修复程序是简单的。只要使用\ $ {BASEDIR}代替。这逃脱$符号,并防止行家从替换它在运行时原型。然后您生成的pom.xml文件将包含$ {BASEDIR},而不是该原型从跑目录。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top