我在父profile
中定义了几个pom
,并希望为每个模块定义属性。以下是我的个人资料部分:
<profile>
<id>profile1</id>
<properties>
<prop1>val1.1</prop1>
<prop2>val1.2</prop2>
</properties>
<modules>
<module>warmodule1</module>
<module>warmodule2</module>
</modules>
</profile>
<profile>
<id>profile2</id>
<properties>
<prop1>val2.1</prop1>
<prop2>val2.2</prop2>
</properties>
<modules>
<module>warmodule3</module>
</modules>
</profile>
我运行mvn package -P profile1
来构建warmodule1和warmodule1,分别使用值为val1.1和val1.2的prop1和prop2以及mvn package -P profile2
构建warmodule3,其中prop1和prop2的值为val2.2和val2。分别为2。
它适用于profile2,但在profile1中,属性仅传递给列出的第一个模块(warmodule1),而warmodule1则为空字符串。
当我单独运行每个模块并从命令行传递属性(例如mvn clean package -Dprop1=val1.1 -Dprop2-val1.2
)时,它工作正常,而不是当我在父pom中设置配置文件定义内的属性并运行父构建时。 / p>
如何在第一个配置文件中使用配置文件特定属性而不仅仅是列出的第一个模块中影响这两个模块?
答案 0 :(得分:0)
属性没有从父 <RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/content_layout"
>
<ImageView
android:id="@+id/chanImage"
android:layout_width="fill_parent"
android:layout_height="250dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:scaleType="centerCrop"
android:adjustViewBounds="true"
android:src="@drawable/whiteImage">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="200dp"
android:layout_marginLeft="20dp"
android:textSize="20sp"
android:textStyle="normal"
android:text="WHITE TEXT"
android:textColor="@color/white"
android:fontFamily="sans-serif-condensed"
android:ellipsize="end"/>
</RelativeLayout>
传递到warmodule2,因为warmodule2与warmodule1不同,没有定义父级:
pom
当我将它添加到warmodule2的pom时,参数成功传递。
作为旁注,我一开始并没有写这些poms,所以第二个模块没有声明父母,这是别人的遗漏。