Java构建时间常量配置

我有一个项目我想使用多种配置构建.
我有一个常量,需要在构建之间有所不同,但我不知道如何根据我的配置更改它.

例如,我希望能够基于配置文件中的值来执行以下操作.

@WebService(targetNamespace = "http://example.com/")
public class CustomerWebService {

@WebService(targetNamespace = "http://demo.example.com/")
public class CustomerWebService {

我们用蚂蚁来建造.

解决方法:

我建议尝试模拟Maven资源过滤和配置文件属性

源过滤

SRC /模板/ MyFile.java

..
@WebService(targetNamespace = "@WS_NAMESPACE@")
public class CustomerWebService {
..

build.xml文件

<target name="filter-sources">
    <copy todir="${build.dir}/src">
       <fileset dir="src/templates" includes="**/*.java"/>
       <filterset>
          <filter token="WS_NAMESPACE" value="${ws.namespace}"/>
       </filterset>
    </copy>
</target>

<target name="compile" depends="filter-sources">
    <javac destdir="${build.dir}/classes">
        <src path="src/java"/>
        <src path="${build.dir}/src"/>
        <classpath>
        ..
        ..
    </javac>
</target>

笔记:

> ANT复制任务能够执行模板替换.

构建配置文件

属性文件

每个配置都有一个不同的属性文件

src/properties/dev.properties
src/properties/qa.properties
src/properties/prod.properties
..

build.xml文件

<property name="profile" value="dev"/>
<property file="src/properties/${profile}.properties"/>

选择替代构建配置文件

ant -Dprofile=qa ..
上一篇:Javascript-为什么在if()或try {} catch(e){}内部时const在多次运行代码时引发错误?


下一篇:使用php中的定义后,可以将值赋给具有等号的常量吗?