我有以下build.xml代码。在这里,我在jar文件中修改了清单文件。在清单中,我想添加一些属性,例如资产名称和资产基线。
buildInfo的内容。属性如下:
articlelib_componentname=ABC component.
articlelib_baselineName=Baseline_1.
buslib_componentname=XYZ component.
buslib_baselineName=Baseline_2.
build.xml:我想动态传递名称,即 articlelib 值,并从 buildInfo.properties 中检索值。我在清单外部使用了宏元数据,它是工作文件,但当我在清单标签中使用相同的时,我无法使用它。我是否可以解决此问题或替代解决方案将动态值传递给清单,以便我可以从builInfo.properties中检索值
<property name="name" value="articlelib" />
<property name="name_path" value="${name}_componentName" />
<property file="buildInfo.properties" prefix="buildInfo" />
<property file="buildInfo.properties"/>
<macrodef name="property-read">
<attribute name="name"/>
<attribute name="from"/>
<sequential>
<property name="@{name}" value="${@{from}_componentName}"/>
</sequential>
</macrodef>
<target name="test">
<echo>PRODUCT_NAME: ${name}</echo>
<property-read name="instance" from="${name}"/>
<echo>DYNAMIC PROPERTY VALUE: ${instance}</echo>
</target>
<target name="earchive" description="Generate the EAR file">
<jar destfile="${dir.dist}/${name}.jar">
<manifest>
<attribute name="Specification-Title" value="${name}" />
<property-read name="instance" from="${name}"/>
<attribute name="Asset-Component" value="${instance}" />
<echo>DYNAMIC PROPERTY VALUE: ${instance}</echo>
<attribute name="Asset-Baseline" value="${buildInfo.articleliblocal.baselineName}" />
</manifest>
</jar>
</target>
</project>
当我在manifest标记中使用上述属性read micro时,我得到以下错误:
建筑失败
H: \Ant_Scripts_Testing\hello。xml:27:manifest不支持嵌套的“正确读取”元素。在org.apache.tools.ant.unknowneelement.handleChildren(UnknownElement.jav a:359)在org.apache.tools.ant.UnknowneElement.handelchild(unknknownelement.java:5 69)在org.apache.tools.ant.unknwnneElement.handleChild(UnknownElement.jave a:346)在org-apache-tools.ant.unKnowneEle.configure(unknow.element.java:198)在org.apaches.tools.ant.unKNowneElement.maybeConfigure(unknOWneElement.jav a:160)。在org.apache.tools.ant.Task.perform(Task.java:347)位于org.apachi.tool.ant.Target.execute(Target.java:357),org.apa.tooles.ant.Target.performTasks(Target.java:385),org.apache.tools.ant.Project.ExecutedTargets(Project.java:1337),org.apache.tools.ant.Project.executeTarget(Project.java:1306)位于org.apache.tools.ant.helper.DefaultExecutor。org.apache.tools.ant.Project.executeTargets(DefaultExe-cutor.java:41)位于org.apach.tools.ant.Main.runBuild(Main.java:758)位于org.apache.tools.ant.Main.startAnt(Main.java:217)位于org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)位于org。apache。tools.ant.lancher.Main(Launcher.java:104)的executeGets(Project.java:1189)位于org。清单不支持嵌套的“属性读取”元素。位于org.apache.tools.ant.IntrospectionHelper。ThrownNotSupported(Introspect ionHelper.java:447)位于org.apache.tools.ant.unknowneElement.handleChildren(UnknownElement.jav a:349)
将动态值分配给manisfest外部的新变量,并读取清单中的相同变量,从而解决了该问题。
问题内容: swift没有嵌套类吗? 例如,我似乎无法从嵌套类访问主类的属性测试。 问题答案: Swift的嵌套类与Java的嵌套类不同。好吧,它们就像是Java的一种嵌套类,而不是您正在考虑的那种。 在Java中,内部类的实例会自动引用外部类的实例(除非声明了内部类)。如果您有外部类的实例,则只能创建内部类的实例。这就是在Java中您说类似的原因。 在Swift中,内部类的实例独立于外部类的任何
我有这门课: ContractDetail类如下所示:
我在一个项目中有一个奇怪的需求。加入两个n: m属性表(我将用虚拟属性呈现行为)。 第一表(idPlace、idAddress、idSchool、wage)加入1:m 当然,我有表地方,地址,学校,企业与他们各自的ID,获取,集合和属性在实体类中实现。 代码: 位置 地址 学校 第一桌 FirstTablePK 上面提到的表和联接工作得很好。现在我想把第一个表和第二个表连接起来。 企业号 现在,对
如何做到这一点,以这种简单的方式?
我试图提供一种方法,在一个模型中生成一个新对象(列表),在另一个模型中使用has_many关系(通过分组)生成一个新的关联对象(项目)。我能够让表单工作正常,但无法弄清楚为了正确完成创建过程,我缺少什么。 Rails v.5.1.2,Ruby v.2.4.1 lists_controller.rb items_controller.rb list.rb模型 item.rb模型 grouping.r
问题内容: 我有以下JSON,如下所示。我正在尝试读取值TOP1,TOP2。我不太确定该如何做。 我正在使用以下..但这只是给我一个对象,该对象具有用于TOP1和TOP2的嵌套对象。如何获取值TOP1和TOP2? 和下面的数据 问题答案: 您似乎想通过循环,因此请更改以下内容: 对此: 现在,您正在使用该对象遍历该对象数组, 这些 对象就是具有属性的对象,例如:和。