有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

AntJava构建时间常数配置

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

例如,我希望能够根据配置文件中的值执行以下操作

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

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

我们用蚂蚁建造房屋


共 (1) 个答案

  1. # 1 楼答案

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

    源过滤

    src/templates/MyFile。爪哇

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

    建造。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 copy任务能够执行模板替换

    建立档案

    属性文件

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

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

    建造。xml

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

    选择替代构建概要文件

    ant -Dprofile=qa ..