原型からプロジェクトを作成するときにどのようにプロパティの交換を抑制していますか?
-
18-09-2019 - |
質問
私は単純なプロジェクトのためにarchtypeを作成しようとしている、このプロジェクトは、私は、プロジェクトは、プロジェクトの一部となるものを本命に作成されるので、archtypeにリソースとして含まれたいと思い、いくつかのSSL証明書が含まれています。私の問題は、Mavenのが原型でプロジェクトを作成するときに、それらの本命のプロパティの交換をやろうとしていることです。プロパティの交換をしない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ファイルです)何であるかはよく分からないが、私の推測では、それが原型の非バイナリコンテンツのほとんどは作成時の速度で処理されているという事実に関係していることである(参照この問題については、原型-90 に)。
この問題を回避するには、作成、設定することです-from-プロジェクトのモジョを使用して、デフォルトでフィルタリングされていないファイルを持ってます:
-Darchetype.filteredExtentions=ext1,ext2,...
これをろ過し、デフォルト値はjava
、xml
、txt
、vm
、groovy
、jsp
、gsp
、vm
とproperties
が含まれるファイルの拡張子を設定します。あなたは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>
の詳細については、このページを参照してください。原型メタデータの詳細ます。
他のヒント
私は原型-リソース/のpom.xmlに$ {BASEDIR}を使用しようとしている同様の問題があったが、原型は、プロジェクトを作成するために走ったので、間違ったディレクトリを指摘したときには交換されていました。
修正は簡単です。ただ、\ $ {BASEDIR}の代わりに使用します。これは、$記号をエスケープし、原型が実行されたときにそれを置き換えるからMavenを防ぐことができます。次に、あなたの生成されたpom.xmlファイルではなく、原型から走ったディレクトリの$ {BASEDIR}が含まれています。